As far as i know this is due to the bitmap font system. Glbasic doesn't use real font files, it uses picture files like bitmap or png with the letters in it and gives every character the same pixel space. I hate this too, because good looking text is very important for a clean, polished look i think. I once wrote a function that splits text into single characters and then i defined a width value for every letter, but thats hard and tedious work and you have to do it for every font individually...
Edit: Also i don't know if you lose performance when using a print command for every single character. Maybe a function that only gives W, M, G more space and I,l,t less space is enough for the start, since it would probably be an improvement for every font.