You might try "resetting" your keyless entry system.
In your owners manual there's an explanation of how to do it should you ever need to buy a new keyless fob.
Basically, you have to turn the key in the ignition from "off" to "acc" ten times within five seconds (with all doors shut). Then open and close your driver's door and then click the keyfob lock button within a few seconds after that.
I know it sounds stupid (and it is, really), but that's how the owner's manual says to do it. I regularly have problems with keyless entry in my 2003 Forester, and when I reset the keyfob, things seem to work OK for awhile.
Don't know whether it'll help your problem, but it's cheap and painless and might be worth a try.