Just a shot in the dark, here, but I had some similar issues on a 2001 XJ and it ended up being the ignition switch. I actually took it apart and found that the area where the little ball-bearing rides was worn enough that it wasn't letting the switch function properly. Cleaned the contacts and replaced that ball bearing with a regular little .177cal "BB", and it worked like new. Or you can go the boring route, and just go buy a new one for $35 and try it.