Yeah, I've seen strange things like this too. I can assure you it's all DirectPlay doing those weird things, not FSHost. The only port FSHost explicitly opens on its own is TCP 80, for the web access.
I think part of the reason for all the ports is the way DirectPlay communicates with other machines. Sometimes when I was tracing a connection, I could see that machine A would send a packet out from his own port X (which was just some random port number, maybe in the high range) to one of the normal DirectPlay ports on machine B (maybe 2350, for example). Sometimes the two machines would then settle on 2350, and both sides would send and receive on that port. But sometimes they'd settle on the high-numbered random port instead, or one side would end up sending back to that high-numbered port while the other sent to 2350. Anyway, it's all in the way Direct Play tries to switch to any port it can to find a good connection -- if it sees the other machine using some particular port, it sometimes tries to use that port locally as well. The result is probably that you get a strange-looking list of ports being used by the program.
Well, that's my guess, anyway...
But you don't need to open any of those ports -- it probably wouldn't do any good anyway, since they're probably random. DirectPlay is very good about always trying specific ports first, so the published list is all that's required. If they're open and available on both sides, no other ports are needed.
Russell