>>For this to work reliably your server needs to have a fixed IP address e.g. 192.168.1.10 otherwise each time your server is rebooted it will get a different IP address and the router won't know where to forward port 80 requests from the outside world.>>
I agree with this, make your internal IP fixed, then on the IIS where your virtual directory that host your site, right click it, under directory security tab, click on edit under Authentication and Access, then remove the check mark under Integrated Windows authentication and make sure that anonymous acces is granted to your IUSR_WEBSERVER_NAME.
Try to do that and check what will happen...