In the past I've had absolutely zero problems getting FreeBSD to write to FAT filesystems - I'm under the impression that even FAT32 is a relatively "simple" filesystem and it seems like the code to read and write FAT is well tested.
We do a fair amount of torrenting here - not a huge amount, but things like Linux distributions that Dad will never play with will get downloaded and BitTorrent traffic is a huge paint to manage, so I wanted to put all the BitTorrent activity on the router, with SMB access for everyone to retrieve things that are downloaded. It also means that desktops and laptops can be shut off overnight when they're not being used, and the bandwidth can be maximized while everyone's asleep.
Someone on IRC suggested Transmission for a torrent client, and it does pretty much exactly what I want. I thought we'd be stuck with a web interface for it, but there's an unofficial Windows build on SF as well. So far I've found very little it doesn't do.
Unfortunately, when I plugged the drive that Dad uses for storing all his data into our FreeBSD machine, it's NTFS-formatted and FreeBSD's base NTFS driver only does read-only access. I installed sysutils/fusefs-ntfs and it mounted, but the box panicked almost immediately on a write and rebooted. Back to the drawing board.