You may try JBoss 5.1, I suppose there are less problems.
For this problem you might use classloading separation, do you have configured a class loader scope in your archive?
Also it might happen that you have the same struts*.jar in different EAR/WAR files, if it picked up by different class loaders the class is the same but from classloader perspective it isn't and can not be cast.
A solutiom might be that you drop the struts stuff from your archive and put it in the server/.../lib folder visible for all.