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.