2) The update frequency of any parallel depends on the number of waits inside - and is a matter of experimentation.
too few waits and the event will cause lag, slowing down everything.
too many waits and the check will not happen often enough, again slowing everything down.
The correct number is somewhere in the middle and depends on too many other things to be set generally.
Without wait, the parallel will run once per frame - sixty times per second - usually causing lag.
The wait commands tells it to skip some frames before running again - a wait(5) would result in the event being executed "only" ten times per second.
a wait(120) would result in a two-second-stop between two executions of the parallel.
Start with wait(5) and increas if too much lag, decrease if the event isn't called often enough
1) RM has no time in the game, if you want that you'll need to implement a time system, either by event or by script.
Event could be the same parallel that checks for zero, only reduzing the MP in addition to checking with the change MP command.
In that case however, you have to remove the trait