However, why don't I just use the following:
I don't know, doesn't make sense to me -- you're not a proxy, so why act like a proxy -- either you're making requests on behalf of a user or the user is making the requests -- redirecting a user to some other site based on a request you generated to that other site, smells like CSRF
Is there any reason to expect that to break?
Sure, if the other site changes, say to ban your client (for TOS) or prevent CSRF :)
But I'm not really sure what you're doing :)