To cross-compile, you need:
- A cross-platform assembler (the smallest problem)
- A cross-platform linker
- All libraries needed to link for all OS (here it gets tough)
The last one is the biggest problem. Not only would we need to include all PureLibraries 3x
in the package, but also all OS libs. Now for windows this is easy, they are
included in the package anyway, but to compile on windows for linux for example, we would
have to include the libraries for the glibc, gtk (including all depencancies), sdl etc
in the windows version as well.
Apart from the fact that this is much to big a hassle for us to set up and maintain,
the next update would probably be about a hundred megs in size.
Cross-Compiling makes sense for languages who base their commands on their
own crossplatform toolkit, so there is only one big library to link in and thats it.
PureBasic uses directly the API of each OS, giving your program a native
look and feel on every OS with a very low executable size, but the price to pay are the dependencies on
the OS libraries (or on linux 3rd party toolkits like gtk) that make cross-compiling a nightmare (if not impossible)
Another effect of this is that the program might react a little different on each OS,
due to the usual differences between the OS.
(for example the default font size with gtk is usually  much larger than the windows one)
So it is not a good idea to blindly compile a program for linux once it runs
on windows without even a single short test on the target OS.
Well, and if you need the OS for tests anyway, you can as well compile the program there.
This of course is different if a language uses its own toolkit
with the same font, same sizes etc on each OS and especially
with only minimal dependancies on other OS-specific libs.
That is where cross-compiling makes sense, but this is simply not what PB
is supposed to be.
To sum it up: 
Due to the way PB is designed, cross-compiling does not really make sense.