I've encountered a similar problem when one of the sub-modules is a maven plugin that is used by another sub-module. I discovered this only when I cleaned-up my local repository. Then "mvn clean install" didn't work. Even "mvn clean" and "mvn validate" failed because the plugin was missing.
My solution was to split my top-level maven project into two: One for maven plugins, and one for everything else. I don't know if this is something that can be fixed, or whether it's a design consequence. I suppose that the missing maven plugin could participate in any goal, including the "clean" or "validate" goals, therefore maven can't proceed with anything if a plugin is missing. Aside from this though, I found that maven 2.0.9 works as advertised in figuring out a correct order to build sub-projects.