I can't repeat this problem.
My setup for testing:
- Create a "Virtual libs" column in calibre with template "{:'virtual_libraries()'}" as described in this FAQ answer.
- Connect CC to calibre so CC knows about the column. Disconnect.
- In CC's grouping settings, add the new column to the grouping drawer. (This is optional.)
- On a book in some virtual library, look at book details. The column contains the list of VLs containing the book.
- In calibre, change a book's metadata so that it is not part of a VL.
- Connect CC to calibre. Let it sync. Disconnect.
- Check book details for the changed book. The VL is gone.
- Open the grouping drawer (assuming you added the column to the grouping drawer above) and choose the VL that no longer contains the book. The book is not listed.
What are you doing that is different from the above?