What I was trying to say is: The schengen agreement or treaty, which is now a part of eu law, deals with visa policy for the eu. There is no reason for foreign actors to treat eu countries like they are in the schengen when they are not, since it is specifically designed to deal with eu-extra eu relations.
If the eu wants to deal with internal eu travel and residence outside of the schengen agreement that is one thing, but it's not a consistent policy to try to create a second set of international relations by selectively bypassing the schengen agreement. A second set of agreements would be both coherent and acceptable if the eu accepted that the schengen agreement was superfluous and not to be taken into account for countries that opted to enter into a reciprocal relationship with them based on this new agreement. Otherwise it is just picking and choosing without sufficient respect to the other parties involved. This would probably be for the best long term, since the schengen leaves eu international policy too tied to a few non-eu members who have schengen agreements in place.
In brief, it is the eu's problem that they have an imperfect union and have not managed to integrate all their members into all their reciprocal agreements. It is an understandable problem, but not one they can credibly complain to others about.
Edit: I think where we are missing each other is I don't view the schengen agreement as just internal policies, but the framework for the eu's interaction with the world. From what I have read in the eu's own words and elsewhere, that is its intention.