It looks like the 1.6 and 1.8l motors used interchangeable temp sensors, but I'm getting a different part number for the 2003 2.0l motor. Interestingly, all 2003 proteges including the mazdaspeed seem to use the same coolant temp sensor.
Unfortunately, that doesn't really eliminate any variables.... it could still be different temp sensor voltage signal, different gauge cluster voltage response, or a malfunctioning gauge on the cluster.
If you want, we could try plugging your gauge cluster into my car sometime and see what it does, since the p5 and MSP should be using the same sensor.
Also, as long as you know your car is running normally, you could try using a 2003 temp sensor (looks like they're only about 30 bucks from
www.onlinemazdaparts.com ). If the temp reads normally, then I would be fairly comfortable trusting it to tell me if engine is running hot or cold. I just don't know if the 1.8 and 2.0 motors use the same sensor location or are designed to run at the same temp.