I see this is a bit of an old question, but it is unanswered so I'll offer a solution...
I have had issues getting the web service calls to work across domains. The issue for me has always been that the SPServices library should reside on the same domain that you're making the web service call to. Symptomatically, I've generally seen a fairly nondescript error in my debugging tools; it never seems to just give you a straight 403. You'd think that, by nature, a web service call is intended to go to a domain other than where you are, so I'm not sure if this is an issue within the way SharePoint processes scripts and requests, but I have seen this problem before in similar scenarios to yours.
Typically, I deploy jQuery and SPServices to the 14 hive using my branding solution. The "fix" that I came up with was to dynamically write the script source tags using an absolute URL to jQuery and SPServices on the domain I want to make the request to. If jQuery and SPServices are sitting in the 14 hive, then https://intranet.domain.com/_layouts/scripts/jQuery.js and https://mysites.domain.com/_layouts/scripts/jQuery.js are pointing to the same file. By dynamically writing the URL so that it's loading the JavaScript files from the domain that you'll ultimately be calling, I was able to mitigate the cross-domain issue.
If you're on intranet.domain.com and your script is loaded from intranet.domain.com and calling mysites.domain.com you'll have the issue. If you're on intranet.domain.com and your script is loaded from mysites.domain.com and calling mysites.domain.com it'll work just fine.
Hopefully that makes sense.