Hi - I saw your post but I think we are talking about slightly different problems here. My jsps don't get deleted on re-deploy - its just the fact that their timestamps are older than those that are deployed into the tmp directory when jboss restarts that causes the problem.
Since Jboss automatically copies and explodes my war (which contains the source jsps) into a tmp directory during deployment all of the timestamps of jsps in that war are updated to the current date and time. This means that regardless of the fact that my previously compiled jsps in the work directory are still there they appear to be older than the source jsps so they get recompiled.
I have solved the problem by writing some code which updates all of the jsp timestamps for existing jsps in the work directory after all applications are deployed. This is done from a call within an initialisation servlet
which runs when deployment is complete. My previously deployed jsps then have 'younger' timestamps than those in the tmp directory and no re-compilation takes place.