I'm no DBA.. but I think if 99,999.99 is a limit based on storage/performance, you're using the wrong data type
MySQL's documentation is a black hole when you get into this stuff, but as I understand it, a decimal type (my guess of what you're using, if you're using VARCHAR or similar, there's no help for you) stores 99,999.99 in 4 bytes (3 bytes for the 99,999 and 1 for the .99).
If you really like type decimal, you have the same storage requirements by going to a limit of 999,999.99.
Since we're only using positive values for resource storage, you would get better storage efficiancy and performance by using an unsigned mediumint which would up the maximum to 167,772.15 in only 3 bytes (formatting of the decimal would be done for display only). If you moved to an unsigned int, your maximum would be 42,949,672.95 in 4 bytes.
This would increase performance, storage efficiency and better prepare the game for the long-haul. You may think 99,999 steel in a single nation is unfathomable, but wait until you have nations that are 7+ years old...
I'm sure there are people playing who are far more knowledgeable of sql optimization who could chime in and affirm/correct my understanding.