Just set in rc.conf:
defaultrouter="NO"
It shouldn't hang.I don't think this 30-second timeout is a bug in FreeBSD or in rc. You may want your server to wait for the network to become available. Ubuntu Server has the same "waiting for network" timeout:
http://askubuntu.com/questions/63456/waiting-for-network-con...
But the only reason this is necessary is when the boot system isn't smart enough to start whatever can safely be started through proper dependencies.
My experience is that a substantial amount of time is wasted weeding out undesired timeouts in startup scripts, because they lead to increasing downtime.
It's pretty dumb, and not enough of a problem for me that I'd figure out how to work around it, but it's a pretty good example.