I assume jmjm is talking about game #12281566, where both cards were present. However, unless some undos were involved (which cannot be seen in the game log), the situation jmjm describes never occurs.
Unless I missed something, the situation where one player played a Swamp Hag while the other had a Gurdian out happened twice: on turn 14/14 of opp./jmjm, and again on turn 18/18 of opp./jmjm (so in both cases the opponent played the Guardian and jmjm the Swamp Hag).
In turn 15 of the opponent, he did not buy anything, so it it cannot be decided if Guardian would have stopped Swamp Hag (in a replay with the bot as opponent, the bot bought a card, but did not gain a Curse, so Gurdian worked correctly in that replay).
Since jmjm ended the game on turn 18, there was no turn 19 for the opponent to be affected by Swamp Hag.
What I can think of what possibly happened is that (because there were many Guardians bought in the the game) jmjm misremembered and took the turn he gained the +$1 from his Guardian as the turn he played her. Gurdian is usually only a short time visible on the turn she is played, and usually not visible on opponent's turn, but then a full turn when she gives the +$1. So I think it is possible to misattribute seeing her in play to the (usually) more important 'protect me from attack' than the +$1 effect.