Samba is definately the way to go. It sounds like instead of another solution, you'll want to do some more research on configuring the smb.conf file. I had the same troubles you had at first but when I finally got it right it worked out great. I would have posted my smb.conf file but I recently rebuilt my linux box and have'nt reconfigured samba yet. I know you've heard it here a hundred times but search google for "configuring smb.conf". I haven't used it but I here SWAT is a good way to configure samba too. I'm usually hesitant about using gui based config tools in linux.
-NeuTron