Both of those work for me, so it might be that you have another script interfering.
Anyway, to do it with events, you'd use two in-game variables; let's call them X and Y.
Whenever you want to reset the playtime, set Variable X to Play Time through the Control Variables command:
@> | Control Variables: [0001: X] = Play Time |
Then, whenever you want to retrieve the current playtime, set Y to play time, then subtract X, like this:
@> | Control Variables: [0001: X] = Play Time |
@> | Control Variables: [0002: Y] -= Variable [0001: X] |
Variable Y would then hold the play time since the last time it was reset.
Again though, that would not affect playtime as it is shown on the save file.