This is an ongoing issue. Some here have suggested an AppleScript you can find on VersionTracker called "End Hanging Disconnect." The l'il script has NEVER worked for me, however, although some swear by it.
I've had this problem on my 15" G4 iMac and 12" PowerBook since Jaguar. It used to happen twice a day... Now under Panther it only happens twice a week. Still annoying to no end to have to reboot, but that's the ONLY thing I've found that works every time.
If someone has yet another solution, I'm listening, too!