Unfortunately, you will need to duplicate the group ID. The other (slower) option is to search the surface's groups group to check where the sprite was added. Obviously, this is not very efficient.
See my comments in another thread toward the bottom. Here's the link.
I don't understand why the groups object is a CompositeSprite. This object contains other groups (not sprites), so it would be sufficient it was an an instance of MixedCollection, not CompositeSprite.