I've been playing around with the xmlrpc API, and found it to be somewhat misleading. When a getUsersBlogs call is done, I would suppose it to return all blogs that are accessible through the xmlrpc location the call was made on; it, however, returns list of all the users blogs, and the other blogs must have different xmlrpc URLs.
I would find any of the following sensible:
1) a getUsersBlogs on http://<blog>.wordpress.com/xmlrpc.php would yield only the <blog>, nothing else
2) a newPost on http://<blog>.wordpres.com/xmlrpc.php would respect the blogId used in the method call
3) if nothing else, then at least using incompatible blogId in call newPost call should yield an error
The current situation is quite a pain for software developers trying to create a program that supports many different blog providers; as wordpress.com's current xmlrpc-API requires wordpress.com specific hacks.