Using child domains/subdomains across firewall tiers is certainly possible. You could put bobswidgets.com on the Internet side in the DMZ and host your own DNS server. Then you create internal.bobswidgets.com and delegate authority for it to your internal DNS servers. Just make sure that your firewalls do not allow DNS requests to the internal servers from the Internet or the DMZ, otherwise people will be able to enumerate your internal organization. For my money, that actually ends up being more complicated and risky that doing the "split-brain" method I outlined before.
Regarding the TLD, if you are not going to have the DNS namespace externally available then I would advise against using any publicly available TLD, especially if you don't own the namespace. Though it might be unlikely, it's certainly possible that someone could set up a duplicate namespace on the Internet side that will cause problems with your internal DNS. For example, I can technically use microsoft.local or microsoft.com as my internal DNS namespace. But if I use microsoft.com then I'm going to have serious name resolution issues. I can use microsoft.local and not have any issues, because .local is an invalid TLD. Of course, I wouldn't use microsoft.local, because I'm not Microsoft.
It is possible to use a .com, .net, or other TLD for your internal namespace without making it a security risk. All you have to do is make sure that your domain has no records in the Internet DNS, and then nobody can find it. And even if they could find it, they'd still have to be able to access it to get anything useful. The biggest issue is the confusion between internal/external namespaces using the same name.
________________________________________
CompTIA A+, Network+, Server+, Security+
MCSE:Security 2003
MCITP:Enterprise Administrator