ok for the menu, try adding float:left to cssmenu a
That should get your menu to float like you want it. I didnt have a way to test it in IE but it fixes the problem in Firefox, safari, and opera.
Now for the other pieces.
1.) It does work best to put a div tag around some of the content panes. Remember content panes are rendered runtime, so styling them can be a bit difficult. Its no different though then using a table cell to incase the the content pane. So there really is nothing different, you just used a table cell to incase the content pane instead of a div tag.
2.) DNN codes / uses a CSS style called DNNEmptyPane which is added to any content pane that is empty. Just use this auto applied style with your contentPanes name to get the results you want.
3.) Not sure how you coded the divs, but shouldn't be any different then table
4.) You need to include the control panel token in the correct div tag. If you let DNN auto place the control panel it looks for the first div / table break it gets and inserts it there. By using the token you resolve most of those issues.
5.) If you use absolute positioning and solpartmenu for the container things blow up. Solpart uses javascript for much of its work which doesnt play well in a realitve environment. Many options work, can use a CSS based menu, or dropdownlist token for the menu as well. Granted both are not nearly as easy, but do work. We are hoping DNN 5 will resolve some of the issue.
Oh forgot to mention. If you have firefox, make sure you get the web development tool bar, and firebug,
The web development tool allows you to edit CSS "live" and see the changes, Firebug will allow you to "inspect" or mouse over any item / object on your page and it will tell you all the CSS styles applied and which ones are overwritten and where. Both are big helps for anyone wanting to do CSS based skinning.
Beyond that you just have to practice with your CSS and with how DNN renders it's skins.