I think Justin is assuming that foo.bar.com is a domain, but based on your question, it sounds more like foo.bar.com is the FQDN of just your web server?
If I understand this correctly, what you want to do is have your external DNS server have all the records for bar.com, and your internal DNS server only the record for foo.bar.com, and somehow forward all requests for any other record in bar.com to your external DNS server for resolution?
If that's true, then no, there's no way to do that in the MS DNS Server (2000-2008 versions). To have any records for bar.com, the server has to be authoritative for bar.com, and if it's authoritative then it will always respond to a request for a bar.com record it doesn't have with a "no such record" response, rather than doing some kind of recursive query.
There are other DNS servers that have this feature (maraDNS) but I believe it violates the RFCs, so it won't be there in any mostly RFC compliant DNS server.
In short, your current method (mirroring all the records except this one internally and externally) is the best/only way to make this split-brain configuration work with the MS DNS Server.