This question is because I just found out that my site is looking ok in IE7 and in IE8 with compatibility-mode, but in FF it is all screwed up.
What would be the bes
For best results do your development in Firefox (because it is standards compliant) and periodically cross-browser check in different versions of IE to make sure it works OK there too.
You shouldn't need to have a completely separate CSS file for IE, but in a complicated layout you may need to have a small set of overriding rules to make IE behave - expose those rules to IE only with IE Conditional Comments. Never use CSS hacks, they are unnecessary and error prone.