This is especially problematic when building a Master Page from the ground up or heavily modifying a Master Page with a Page Layout. This div not appearing tends to make web parts unusable. Fortunately, this div doesn’t need to have anything in it, nor does it need a class associated with it for styling purposes. When it’s populated, SharePoint will magically apply all the content and styles you need. SharePoint 2007 does not have this issue because it uses tables for its layouts, but SharePoint 2010 does not.
The reason I’m writing this is because I didn’t find it anywhere else on the internet in the hours I spent searching across Google and Bing. So simply, be sure that you’ve added a div with the ID “MSO_Content”, and you should be good to go.