This has been a huge pain in the butt, and I'm not sure why. I've got two other boxes I administer, running apache, and neither one has ever had trouble with named vhosts. But, for some reason, this box has just sucked. It would never recognize my NameVirtualHost statement.
I finally ended up scrapping my entire httpd.conf (and access.conf, and srm.conf (yes, this apache installation is old enough that when it was originally done, people still differentiated between the three files)). I slowly went through and built up a new one from scratch, and low and behold, it worked. I can't for the life of me see why the old one didn't, though. It was a crufty config file, but it should have worked.
Now that I have this going, I'm gonna have to get around to setting up all my domain names and getting them usable. I might shell out $50 to secondary.com and host the DNS on them, for simplicity. Well, that, and I trust them. (I know someone who works for them.) They provide quality service.