You should not expect the G-code interpreter to distinguish between "30", "030", "0030", "0000000030", etc. The argument to G98 is simply a numeric value, and all of those evaluate to "30", so *should* be seen as identical to the interpreter. If you write code *expecting* the interpret to distinguisjh between those, you *will* have problems, as that behavior will be very much dependant on the specific interpreter, and will likely vary from machine to machine. If the interpreter DID distinguish between those, I would consider that a bug in the interpreter.
Regards,
Ray L.