Hmm I'm not certain if this will work, but you could try replacing the line in index.htm
Code:
location.replace(locationAfterPreload)
with:
Code:
document.location=locationAfterPreload
As for a better option, there are several things you could do. Firstly, I would make your homepage use less images - CSS can be used to do a lot of image type effects. Even if you keep the current number of images, I expect, as a user, to wait some time for images to load. Having a preloader doesn't stop me having to wait, so I don't really see the need!
Another problem with the code is the total lack of accessibility - if users land on index.htm with javascript turned off, there is no way they can get to your homepage. The very least you should do is include a plain HTML link to the homepage.
For SEs, one possible solution might be to check if the visitor is a bot, using IP address or user agent, and if they are then use a 301 redirect to send them straight to your homepage. This way, at least all your incoming links will appear to be pointing at the right place.
Bottom line though, I think having a preloader in this way creates more problems than it solves.