Your problem is likely that jasper compares the date the old .jsp was compiled and the date of the new .jsp, rather than the two .jsp dates. So there are all kinds of ways it gets out of whack, like rolling a file backward in version control, different timezones on development machines and production servers, etc. See the bug report for full explanation and hilarious Remy Maucherat commentary.
In that bug report I have posted attachments containing the fix, as well as a drop-in replacement for jasper-compiler.jar which will fix your problem.
You can also clear out the work/jboss.web directory which contains the compiled jsps, or touch all the .jsps before building new .wars. Either will force every .jsp to be recompiled when you redeploy.
If it works for you, please vote for the bug, post comments etc. so that the Tomcat team will ignore Remy and incorporate the patch in a future release.