that's one of the simpliest solution i found and it works in almost all browser (including IE, NS4+, NS6)
<html>
<body>
<div id="loading" style="position:absolute;top:100px;left:300px;">
<!--- Your waiting text or image goes here --->
LOADING PLEASE WAIT...
</div>
<!--- this will send the <div> to the client side before the begining of the queries --->
<cfflush>
<!--- Your big queries go here --->
<!--- finally, just hide the <div> layer --->
<script>
if (document.all)
document.all.loading.style.visibility = "hidden";
else if (document.getElementById)
document.getElementById("loading"

.style.visibility = "hidden";
else
document["loading"].visibility = "hidden";
</script>
</body>
</html>