start by removing the ability for the client to recalculate everything after the server has already calculated it.
Oh wait... I already did that in my released source.
The problem is that in the standard configuration the server calculates all the stuff like combat damage, healing and then sends a packet with all the HP and MP.
The client accepts this packet and applies it all immediately to the internal memory and to the display but then it goes on to recalculate everything again based on what it thinks it should be. Then it overwrites the values that the server sent and displays its own values instead.
The two are almost always out of sync in some way so the result is an HP and MP bar that jumps up and down. Sometimes even killing you while you still have some HP. Take away the client's ability to do this and suddenly you get a rock steady and predictable HP and MP display. If you leave it the way it is then you can never really fix this glitch