As for your first problem, I have confirmed that success and failure detection within my plugin are OK.
The conditionnal statement works fine too. Here's what I used.
<setup action>
eval: $gameMap.QTE(["normal"],300,["ok","up","down","left"],true)
if ($gameMap.getQTEResult() === "failure")...