I don't use the php menu, but I think it does the same as the regular as to the position="relative"; so, there are two ways to do it. The one you used which is to separate the main from the rest is done that way so you have the submenus file before the main menu and therefore they are 'read' and the menu system has the info before the main menu is rendered. Now, there is a new method of doing position="relative"; which is to include at the top, up by the subOffset and such buildAfterLoad=true; Then you call all the files in the div, the milonic_src, mmenudom, and the data file.
Also, and again, I don't do php but I know I've seen php, or it might have been asp, but either way it was a relative positioned menu, and when I viewed the page, what I saw was the info from the menu data file with the main menu as the last menu in the file. I have no idea if this is to get the sub menu info to be read first as in the above info or not.
Hope this helps, keeping in mind I'm just throwing out things I've seen and which seem perhaps to answer the problem.