If I understand you correctly, you are also avoiding to use 0.00 to encode balanced material, but in a modified way.
Exactly. Basically I'm mapping 0 and 0.01 both to 0.02 (from side2move perspective), but I don't think that is a big problem.
The reason that I have 3 draw values is to prevent a random choice between drawing moves. You can have a drawing move that wins a piece or one that loses a piece. Especially when playing humans (or 'puters without EGTB's), you want to play the move that wins the piece (or in any case doesn't lose one) as maybe the opponent not able to find the correct continuation which can result in a win later.
Richard.