Hi Archie,
What you are trying to do sounds reasonable. The unusual thing I do notice is that you have the inpath and destdir set the same for your final iajc call. That could introduce weirdness. The only strict ordering policy for processing files is that aspects are processed before classes. This can mean on different runs of the compiler the classes are processed in a different order, and that should not matter. If it does matter, as you seem to be discovering, that is a bug. With inpath/destdir the same we may find whilst weaving a file and resolving references that on one run we resolve to something already woven, on another run we don't - so that is the first thing I'd change, weave to somewhere else. It may be leading to your type not exposed problems.
You may find the build faster if you merge those final two steps...but it isn't strictly necessary.
I presume the 'type not exposed to weaver' messages were for your types and not for JRE types?
If we could distill down a simple scenario that displayed this problem, I am happy to debug into it.
cheers,
Andy