ok, I'm stupid : )
The helper utility jar I had contained both classes used by EJBs and WARs and was part of EJBs that are used in the WAR I had the problem with.
The WAR saw the utility jar through the EJBs classpath and hence, a parent ClassLoader which didnt contain the struts.jar.
I split the utility jar into 2 jars to separate the responsibilities and voila! it worked.
ClassLoaders can really be a pain, otherwise I'm just a plain old idiot.