I'm assuming when you say you don't want to delay the whole script that you're really talking about the output... you don't want to delay the entire output, just the stuff after the sleep.
There's a couple things to keep in mind:
IE tends to not display anything until it has received 1k of content. To counter this, you need to start your script by outputting some padding... 1024 spaces, for example. (which will have no effect on the actual HTML display)
You need to make sure your content is not being compressed in any way by the web server
You need to flush your output buffer after echoing.
That all adds up to something that looks like this:
<?php
// turn off output compression
@apache_setenv('no-gzip', 1);
ini_set('zlib.output_compression', 0);
// no need to flush after every output call
ob_implicit_flush(true);
// some padding for IE
echo(str_repeat(" ", 1024) . "\n");
echo("Something here<br />");
sleep(5);
echo("Something else<br />");
?>