I am pretty sure this is still a matter of getting the alternate access mappings correct. Unfortunately, I am not great shakes at this. Try reading through this blog post.
You may want to try a mapping from Internal Url http://[ip.address] to Public Url http://[Public URl].
This stackoverflow question will help determine which zone you want.This stackoverflow question will help determine which zone you want.