Right, that link should give you an idea of where to start, just to experiment. It is a very limited setup. For large scale operations, you should look into some commercial products, or if you are adventurous, there are some open source Linux tools out there. It has been quite a few years since I have done anything like this on Linux, but I can see about digging up some of my old resources.
Delay is inherent in all forms of data transmission. The only way that you can reduce the amount of delay is to have an extremely fast/wide data pipe, the fastest processors you can find (for encoding and transmission), and end users with very fast internet access to your server. Buffering of streaming media is normal. The faster the connection is on both sides and the smaller the buffer, the less time is needed for buffering. For example, a broadband user may pick up a 5-second buffer of your stream in under a second, but a dial-up user may need the full 5-seconds (or more) to fill out the buffer to prevent uninterrupted playback.
Most streaming applications can support multicasts if you have the appropriate setup. Windows Media Encoder is one of those. I am not sure how far past the initial 5 user limit you can configure WME for unicast, but in a multicast situation, you are essentially limitless. WME will work on XP or even Vista.
The basic breakdown for Multicast vs Unicast is this: Unicast is pretty much individual streams per user. The server must feed out the stream to each requesting IP in a server to peer communication. Multicast is more like a radio transmitter in that you have one stream going out and multiple users essentialy tuned in to that signal. The end user points to the right IP and port and listens. Each form has its own strengths and weaknesses. For more detailed information, please head here for
unicast and here for
multicast.
As for the number of servers and the bandwidth you would need, that will depend highly upon the type of transmission and the form of service you wish to offer. Fiber is one viable method of data transport, yes.
Edit: Also, you may want to check out
these guys.
Here is another good read over at TechRepublic.