Im willing to bet you have a bad wire somewhere between the battery and the BCM. Probably in the junction block under the driver side dash. Your symptoms are similar to what I was experiencing when I bought my 2000 WJ a few months ago. Basically, the BCM (which controls all of the lights and well...pretty much everything) wasn't getting any power with the ignition off. So, my headlights didnt work, horn didnt work, interior lights didnt work, other courtesy things didnt work until I turned the key to the on position. Then everything worked as they were supposed to.
I took mine to the stealership because the problem eventually affected the SKIS and I was no longer able to start the Jeep either and had to have it reprogrammed for my key. They charged me $180 to find and replace the bad wire.
You may not be experiencing all the symptoms I had because #1 I'm not sure if the BCM does the same functions on a ZJ and #2 it may not be the same wire and #3 It may be the same wire but may not be completely bad. So it is getting a little power or intermittent power.
The stealership should be able to hook it up to a DRBIII and tell if the BCM is getting power with the ignition is off. My local stealership didn't charge me for that, but they may charge you for 30 minutes labor. Then when I finally had them fix it, they charged me $180.
2002 Overland - 4.7 HO, "Select-Drive", 4" RC long arms, TAG front winch bumper, 32" BFG KM's, Kolak 3" exhaust, Flowmaster 50 series