warning.html is your warning page. Easy enough to put that in as a static file as wordpress only answers if there is no actual file present.
main.html is your main page -- this is where the problem starts. Since that page doesn't exist, wordpress is going to handle it and look for main.html as a permalink, which it won't find, which means wordpress will show a 404 page.
Since the 404 page hands an error 404, even if you customize your 404 template to look right, google will see the 404 and remove it. Rewrites do literally nothing unless you want to do a redirect. If you don't to the rewrite, you will find that your internal links on the blog will not work correctly. Even going to
http://yourblog.com/index.php, wordpress redirects it to
http://yourblog.com/
To have the blog answer as main.html and work without a redirect, I'm not sure. Since main.html is an invalid permalink structure, the main.html portion will be the difficult part. With some simple experimentation, I wasn't able to get it to do what you wanted.
So, if you wanted to have warning.html, you can create that file and it will be served. If you do DirectoryIndex to make the warning.html your primary, your blog won't show up properly if you use permalinks. I think this might be one of those situations where dropping it in place MIGHT prove difficult.
Can you 301 the main.html to your main blog page? or is it 100% set in stone that you have to have main.html?