I think the best approach here is to use Developer Console in Google Chrome or Firebug extension in Mozilla Firefox to investigate the problem.
First of all open Network tab and refresh your page. You will see all loaded resources. This way you will be able to examine your first theory (if some CSS resources are not loaded). Although, I've never heard of a limit to the number of CSS resources.
Second of all open Elements tab and select a problematic elements on the page. Use Styles panel on the right to investigate what actually happening with the CSS. You will be able to see what rules comes from what files and what rules get's overridden.
As a good advice - consider to remove all the extraneous elements and resources from the page. Leave only the bare minimum. That way it will be much easier for you to find the problem. You will be able to add additional resources later, one at a time. Also, consider disabling JavaScript - it will help you to isolate static CSS problems from dynamic ones.
I can't be more specific considering the format of your question and the lack of example. if you will provide further details or more specific questions I will be glad to update and extend my answer.
UPDATE #1:
Considering your malware problem. Try to find all affected files (that is corrupted by injection), start with your HTML and work toward JavaScript's. Then replace all corrupted files with original ones. Re-download a theme for example.
Also consider to check your project for extraneous PHP files. Recently, I've encountered a problem myself with one WordPress installation: there was a PHP file injected to a theme directory that was sending tons of SPAM-messages from our server. Nasty.
I hope it helps, cheers!