It makes more sense to put an exact duplicate of your server platform (FreeBSD, Linux, Solaris) in a VM on the Mac and develop on the machine headless. Same applies to developing on Linux.
For the same reasons it would be nicer to ssh into a real, not virtual, unix server machine from Mac OS X. It's a real unix underneath with a proper terminal built in. I'm temporarily doing similar at work on a Windows machine and Putty just doesn't cut it. I could look into cygwin or whatever but sod that, Ubuntu will be replacing it shortly.