I do not believe this is related to jailbreaks.
My 3.1.3/3GS does this quite frequently. It's usually minor, like after a full charge I'll unplug and it'll quickly drop to 99 or 98% - then if I restart my phone it says 100%.
Then I've also had the jump ups like you describe. Almost like the battery took a quick reading, then went back for more details.
Other times my phone would get warm and start draining battery quickly - I'd restart and it would show like 3% then jump to 22% or the like.
Could be a faulty battery sensor, or something with how the 3GS works, or even a software bug.