I don't know if this helps at all but I spent a day banging my head on a similar issue. the Canvas App (IFRAME) works fine. The url apps.facebook.com/appname/tab/ generates a page on its own but the tab didn't work despite the canvas URL being right apps.facebook.com/appname and the the tab being /tab/
In the end I traced the problem to a forgery protection setting within my app that checked all post requests coming in. So even though Posts were accepted the application tested them for forgery protection, which they obviously failed coming from Facebook.
I skipped this for the tab only and everything worked fine. Now I don't know you're environment but there might be something there that helps you. Hope so. Good luck.