jQuery loading graphic - long pause before it shows

Hi guys
I have a very annoying situation..
Just migrated a WP site to a new dedicated server, same files, same db..

There is a page on this site that takes a long time to load due to many db queries, so I put a loading graphic immediately after the <body> tag like so (the div is styled in the css to fill the page with white and the graphic as a background:

<div class="se-pre-con"></div>
	<script>
	jQuery(window).load(function() {
		// Animate loader off screen
		jQuery(".se-pre-con").fadeOut("slow");;
	});
	</script>

This worked nicely on the old server, showing the loading graphic immediately, then it disappearing once the page is finally loaded.

On the new server, the page hangs for most of the loading time before showing the loading div which shows for a short moment just before the page load is complete: http://stainesfitbox.com/timetable/

Any idea why it would not display immediately now when it did on the old server?
Let me know if you need any other info on the old/new server, I have looked into this all day and cannot figure it out!

Desperately hoping you can help,
Martin