I've got an ubuntu 8.04 system with a 2.2TB raid array that is the central storage for my home network. I've got several Windows XP Pro systems that I want to have read/write access to the linux storage, and I'd also like to be able to mount some Windows directories when I'm in linux.

What's the most transparent, trouble-free way to share files? I tried Samba a long time ago but I didn't like it (sorry I can't remember exactly why, I think it was issues with permissions/attributes). Then I installed Windows Services for Unix and got NFS going. I've been using that for a year, but it's still not quite there (it gags on files >2GB and every time I reboot windows I get an error message). 

So I'm curious how other people have implemented this...what works best?

CLARIFICATION: I need the server to run on Ubuntu 8.04 - that's where my MythTV backend is, and since the two things I want running 24/7 are the backend and the file server, I'd like them running on the same machine to save power.