That's what Host Headers is for, you either need to give a site a unique name, or you need to give it a unique IP or Port.
I would have:
corporate.com - No Host Header - Listens on Port 80 and "All Unassigned"
newdomain.com - Host Header - Listens on Port 80 and "All Unassigned"
If a request comes in for anything but newdomain.com it will end up on the corporate.com site. They will only hit the newdomain.com if the name is typed into the address bar.
Perhaps the only refinement to that is to add both "newdomain.com" and "
www.newdomain.com" as host headers to the second site.
Chris