Sorry, wrote up answer below before I noticed in a comment that you are on OS x. That's a different ball of wax, I think, I recall seeing fairly long SO thread on this issue for terminals on OS X. . . although this thread seems to indicate my solution works using iTerm:
iterm vim colorscheme not working
This may also work, and is preferable to changing your terminal type. Just put the line below in your vimrc before any colorscheme
command. Your xterm should support 256 colors, at least mine in Ubuntu does:
let &t_Co=256
That should fix the problem if the problem is xterm defaulting to too few colors, which you can confirm by doing :echo &t_Co
in your terminal before applying fix above. If it's currently a number less than 256 then it should help.
I think the help section on color-xterm quoted in another answer must be old. My xterm on Ubuntu supports 256 as long as I do set t_Co=256
or equivalent let statement above, and Wikipedia indicates that xterm supports 256 colors:
http://en.wikipedia.org/wiki/Comparison_of_terminal_emulators
http://en.wikipedia.org/wiki/Xterm