No, you don't need a mutex for a single variable of a native number data type when you only setting static values, because in this case there is always only a single read or write instruction on CPU level.
You need a mutex for strings or for 64 bit variables if you compile a 32 bit application, or when you use structured variables. You also need a mutex if you do calculations with such a variable, because then multiple reads and writes can happen.
Also you have a mistake in your event loop. You are doing a `Delay(1)` after each event which is really bad because there are always a lot of events happening that should be handled as fast as possible. You should either use `WaitWindowEvent(1)` or only doing the delay when `Event = 0`.
The english grammar is freeware, you can use it freely - But it's not Open Source, i.e. you can not change it or publish it in altered way.
A recent thread in November on the subject of atomicity, may be of interest to you, at the below link — which refers to several cases of variables being atomic, therefore in some instances not requiring a mutex.