I have a smartlist which picks a song at random and then expands that into the full album for playing - everything works a treat on nearly all my music.
[media type]=[audio] [Number Plays]=<=1 ~sort=[Random] ~n=1 ~a ~sort=[Album]
Why not try grabbing a full album instead of (just one song + full album modifier). Here is what I use (minus the additional filtering)
~limit=1,-1,[Album] ~limit=1,-1,[Album Artist (auto)] [Album Type]=[Multiple artists /(complete/)],[Single artist /(complete/)] -[Album]=[]
The first step grabs all songs from one identically named album.
The second step eliminates duplicate albums (you might need to populate the 'Album Artist' field with a consistent entry for each virtual album in your case to prevent issues)
The third step only grabs complete albums (you will want to leave this off)
The fourth step ignores songs with no album assigned
I had random issues with other solutions to this scenario that used the ~a modifier and the above got me what I wanted.