I am also on a Netgear router behind a cable modem. Set your nsd.tcl to something like this (my inside lan is on 192.168.168.0):
# listen on these ports
set httpport 80
set httpsport 443
# ns_info will try to guess these values based on
# your OS settings, but you may have to replace them
# with sane values if it guesses wrong!
#set hostname [ns_info hostname]
set hostname 192.168.168.4
#set address [ns_info address]
set address 192.168.168.4
set server "labyrinth"
set db_name $server
set servername "PCS-SC Community"
Then you'll have to enable port forwarding for port 80 to your hostaddress, in my case port 80 is forwarded to 192.168.168.4 . To access the webserver from inside the lan I have to use the IP address 192.168.168.4 or set www.pcs-sc.com to 192.168.168.4 in the hosts file found in my case c:\winnt\system32\drivers\etc .
When people access your website from the Internet side with the IP assigned by the provider, the router will forward the port request to your webserver. I use TZO for Dynamic DNS and when you go to http://www.pcs-sc.com you get sent to the public 24.168.201.125, the router then forward so my internal 192.168.168.4 webserver.
Hope this helps...