Now I understood you settings. Sorry but your model wasn't well fromatted and I have not seen the collections at the end.
The rule is "if it seems something magis is happening than for susre we made a trivial mistake".
So let do a simple check:
1) Is this a new project? If yes have you remembered to install properli the mvc controls toolkit in the global.asax?
2) The MVC model binder may fail if a property a its descendant in the model tree have the same name, for instance Plant.Device.AssociatedPlant.Device may fail binding because there is a Device that is a descendant of another Device property.
3) Are all property of PortFolio allocation declared as public?
May I see the PortfolioAllocation class?
I hope I hit the problem...anyway if you are not able to solve pls send me a test project, I don't exclude the possibility of a rather involved bug also if I think it is very unlikely, because I built a test similar to your problem and it works properly.
In the worst case I can put abreakpoint in the sources of the model binder ..to see what happens :)