When you test it on a localhost the PROGRESS
event fires quite often, too often, so sometimes it goes undetected. This happens if the file has been cached by the browser, too.
You should listen for event COMPLETE
to decide whether the file has loaded or not.
EDIT
You can upload the file onto a slow server ;-) Or, for testing purposes, use network speed throttling software.
But honestly, if the preloader goes too fast in normal conditions (on average speed connection) that means that it is not needed. User can wait a second or two... You can use a 'spinning thing' instead.