So, about the RMS grappling payloads already attached to other vessels (other than SSV).
Quick recap of the problem: Orbiter does not allow more than one parent attachment to be used at a time, i.e., a vessel cannot be attached to 2 parent vessels simultaneously. This creates an issue when, e.g., taking a payload out of the PLB with the RMS, or handing over a module from the RMS to the SSRMS.
I've been doing some thinking on a generic solution for this (it is solved inside SSV), and I think having "notifications" exchanged between parents of a payload vessel, when an attach or detach occurs, might solve this. This notification would allow a parent vessel to know that another parent has grappled the payload vessel, and thus change its own behavior (e.g., the RMS would have its movement be constrained), or when one of the parents lets go of the payload, the other is informed of this and takes the actual attachment.
The notification would make use of the clbkGeneric() callback, present in VESSEL3 and later, and would contain the operation being performed, plus maybe some extra info. This means that, while payload vessels can still be as dumb as possible, any carrier vessel or external RMS that "wants to play this game" would need to have logic inside (code or lua) to send and receive these notifications, and then act accordingly.
Any better ideas?