First you need to understand that there are two hierarchy mechanism in Maven: master module - submodule, and parent - child. These are independent concepts - it is not required that you use both simultaneously, like you have done.
I strongly recommend that that your master POM not be the parent POM for any of your submodules. The parent of a child module should reflect the type of module being build. For example, I define parent modules for building JARs, and other for WARs, and another for applications where I need to package the while thing up in a zip. These parent POMs in turn use a common parent POM that contains general things I require of all builds (compiler versions, reports, logging, etc), and that POM in turn has a parent POM used by my organization that defines other standards used by applications in our company (repository location, licensing, etc). The free PDF Maven: the Complete Reference has a good explanation of the differences between the two hierarchy type.
And one final word: I strongly recommend that you not use the "master module - submodule" relationship unless there is no other way to accomplish what you need. I have found that by using a continuous integration server, such as Jenkins, that is very rare to require the use of the "master module - submodule" relationship. In addition, the projects at work who ignored my advice and used a "master module - submodule" relationship anyway are constantly having issues that none of the other projects have.