1. Not enough information to be able to tell for sure. 500 is a 'catch-all' error generated by the Web server meaning that something has gone wrong, but the server can not be more specific about the error condition. There may be a problem with your site causing this but if you are on a shared hosting plan it may even be possible for another site to bring down all sites on the server with a 500 error depending on how the server is configured. The server logs may provide some clues as to what has gone wrong.
2. shouldn't make any difference unless you are trying to fool google in some way.
3. Switching to Linux hosting from windows hosting can make running a WordPress site more straightforward. Whether you stay with your current hosting company or look into moving to an alternative company is a decision you will need to make based on your experiences with them so far including how they have handled your support requests.
You may want to try the multisite forum for any questions specific to multisite - http://wordpress.org/support/forum/multisite.
Personally I would not use windows hosting for WordPress unless there was real & specific reason that meant windows had to be used, also I wouldn't use shared hosting for a multisite installation unless it was very small with low traffic and unlikely to grow.