Whilst I do agree that loopholes regarding this clause are situational, and are usually unorthodox, they promote the use of strategies that would otherwise be completely unfeasible in standard play. Such strategies will never be seen in link battles for obvious reasons, and the purpose of the change in the sleep clause is to make shoddy battles more similar to link battles.
I think a definition along the lines of this might be more appropriate:
If a player has two of his Pokemon put asleep by his opponent, and the opponent was 100% to blame for putting the opponent to sleep through the use of moves, then the opponent automatically loses the game.
Compare it with the "current" definition:
You lose if you put an enemy pokemon asleep with a move that specifically induces sleep, and an enemy pokemon you previously put asleep with a move that specifically induces sleep is still sleeping.
This definition has a little more focus on the opponent. This would be saying that if the player has some role in putting two of his own Pokemon to sleep, an auto-loss would not occur. This prevents people from abusing loopholes and otherwise unorthodox strategies, whilst keeping the battles more similar to link battles. The use of moves is mentioned so that a switch cannot contribute to the sleep. Otherwise, one could argue that a switch at any point in the match would influence the use of Sleep moves, and no one player would be at 100% fault. Plus it makes the clause much easier to implement on shoddy; only moves need to be taken into account instead of switches and abilities.
Considering the moves that have already been debated (these assume that the player uses the move; not the opponent):
Magic Coat - Doesn't break
The opponent uses a Sleep move that was reflected back at him. As the player used a Sleep move, he played a role in putting two of his own Pokemon to Sleep. Whilst the opponent may or may not have known that he could have potentially put the opponent to sleep, the sleep involved both the use of Magic Coat and the use of a Sleep move.
Metronome - Breaks it
The player uses this move, and the opponent does nothing to influence this action. Therefore, the player is 100% responsible for this move and loses.
Assist - Breaks it
Same as metronome
Sleep Talk - Breaks it
Same as metronome
Encored sleep - Doesn't break it
The opponent used Encore, so it's not 100% the player's fault, even if he could swap out. Whilst many of you will disagree with this, I believe this should be the case, because by using Encore, the opponent is intentionally letting the player put one of his Pokemon to sleep. Even if the player switches out, he used a move that let himself have his Pokemon put to sleep. Also, in a real trade link match, an opponent may not switch their Pokemon out against a player stuck using Encored sleep, for the simple reason that he risks having many of their Pokemon then risk being put to sleep. They would probably keep their Pokemon in, knowing they would wake up before the Encore ends.
Choiced Sleep - Breaks it
The opponent did not use a move to influence this sleep; therefore it is not his fault.
Last pp sleep move -Breaks it
Same as above; plus the player would probably end up losing anyways.
Effect Spore - Doesn't break it
The opponent has to use a move in order for Effect Spore to put the opponent to Sleep. It's not the player's fault if the opponent continuously uses attacks like Rapid Spin for the sole purpose of trying to put himself to sleep against a player's last Pokemon (Breloom or Parasect).
Whilst I largely agree with Jumpman's post, it would be very hard to implement it into shoddy. My definition is somewhere along the line's of his post, as by having a Pokemon using a move that could put himself to sleep e.g. reflected Sleep Powder, the opponent cannot have an auto-loss for having his opponent intentionally putting himself to sleep.