There was Dave Allen's World Builder suite. It had a tectonics simulator built on his earlier tec software, a climate model based on his earlier clim software, and a later addition that placed civilizations. Its graphics were a little primitive, but the algorithms were interesting. The World Builder package itself disappeared a long time ago, but some of the earlier things are still around at World Builder Page - Landscape Utilities if you're interested.
The toughest part of doing a whole-world sim is deciding on a good set of models and a good scale. The rules change as you change your scale. Perhaps stating that as the rules appear to change as you change your scale would be better. If your earth-sized world is represented by something like a 1000x1000 grid, then a sample represents something on the order of 510 square kilometers (assuming a perfect projection), or about 22 kilometers on a side. At that scale, a lot of features just don't show. Only the mouth of Amazon river would really show as a river at that scale. Even very large rivers are usually less than a kilometer wide. At that scale, mountains don't show nice canyons or much in the way of peaks. Erosion algorithms like those in Wilbur won't work at this scale, because erosion is basically just a diffusion process (a blur and threshold will work as a first approximation).
Ideally, you'd use some sort of multi-scale algorithm that lets you do computation at the user's current scale, but I have found that it's hard to apply differing rules at differing scales and then propagate information across scale levels. Not that it can't be done, just that it was hard for me to get results I liked. If you're doing straight synthesis like GeoControl, it's a simpler process. However, GeoControl doesn't do whole-world things (at least not the last time I checked).
Grid-based systems are helpful because they are a fairly good match for computer architectures. Using a parallel language like OpenCL or OpenGL's shading language allow for massively parallel processing of the grids, but edge processing is something to watch out for (it's often better to have one shaders for edges, another for the main body, and one for corners than to try to make everything work in just one shader). Main - Codeflow has some good examples of terrain rendering and erosion in WebGL.