Just encountered this as well. I first thought it to be a display error but nope, seeing I actually get "not enough credits" shown when trying to build a starbase showed me that it's truly a signed int number being used. I recall stumbling over a similar issue when coding for webgame as well. Back then I just tricked the system by using single-precision FP numbers. But that was in 2003!
If it's a true 64 bit application then numbers can be natively computed within the same context without emulations. So I really do not see why they'd stick to signed int32 :/
Even so, there is also the issue of displaying numbers in general. If I recall correctly they had a nice way to display numbers in GC2 where they just noted numbers on main screen as 1T, 1B etc. Here they could display the numbers with official abbreviation i.e. bn for billion. On other screens they just should find a text scaling system which makes them fit nicely on screen like using ellipsises.