96KBps isn't very fast.
IIS only serves 10 threads by default. So, you can only have 10 requests at the same time. But, other requests will be cued for execution. If the 10 that are downloading from your server are slow, like for 250kb pages, and there are are many people in the cue, then you will end up with timeouts - server busy.
Check into opening more threads (it's a registry hack - 20 is what MS recommends as max) and see if you can enable compression for IIS. And try to optimize your code so it isn't bulky. Getting rid of white space is a good start.
Also consider extending the timeout for IIS.
BTW - 96 up sounds far too slow for an ADSL connection. Is that right?
You can just run the numbers for how many people the server will support. e.g. :
speed = 96 kb/s
average page = 100 kb (let's round it off to 96 :)
server timeout = 900 seconds (default)
Simultaneous connections = 10
simultaneous download time = 10 * 96kb / 96kb/s = 10 seconds to serve the maximum number of connections
So you can have 90 people cued, and the rest will timeout. A total of about 100 connections.
That is in an ideal world though... and not totally realistic.
However, if you have that many requests, then you are handling about 1 request per second or about 86,400 a day or about 2.6 million a month. That is a lot of traffic. Time to get a host, faster connection, or dedicated server.