Making weather effects in the BGE
What a great question! It was actually surprisingly simple to make.
The texture:
I started by modeling a few snowflakes, and then used them as the display objects for a particle system. I then rendered out one frame with the screen covered nicely in snow:

Using the texture:
I then took that texture, and put it on a large transparent plane. The texture repeats way more than any normal should, but in this case it turned out fine. This plane is the most important part, and the settings are kind of hard to get right.

First, the face orientation must be set to Halo. This will make the plane track (along it's local X axis) to the player's camera. Second (but probably more importantly) the face's normal must be aligned to the object's local X axis so that it will face the camera correctly.
Now, regardless of the object's position or rotation, (because it only has one face with these settings) the face will always appear to the camera as if it were straight on.
The texture for this plane is a simple transparent texture. The Material's Z Transparency has an alpha of 0, and the texture's alpha influences the texture's transparency 100%. In this case, I have the snow texture influencing the material's color 10%, so that the base white color of the material is mostly used.
The physics settings and logic for this object is very simple. Physics type of no collision. Logic: Always - And - Motion (negative along the Z)

The snow plane is now done! if we press play, it should drop slowly, while facing the camera at all times.
The Empties to drop the plane
Now that we have a nice large snow plane, we can drop a few of them into the scene. We will basically be building a pseudo particle system, except that each particle has many, many flakes, instead of each particle being a single snowflake. (This is FAR less computationally expensive)
Now - we will need a few empties to periodically drop the snow planes. Use more empties packed closer together for more dense snowfall, fewer empties scattered further apart for less snowfall.

The empties have super simple logic: Random - And - Add Object (the snow plane.) Depending on how high up your empties are, you'll need a longer time for the snow to fall before being removed. There should be a long enough delay for the snow to fall entirely below the ground plane, as it looks really bad having snow falling from the sky and vanishing near the ground. While the difference is hardly noticeable, it helps to set a different seed for each empty, to make the randomness a little bit more random.
Positioning the Empties
These empties don't need to be scattered over the entire scene - that would waste computational power. It is enough to have the empties just above the character. Enter edit mode on your charter, and add a vertex at the character's object origin. Then, vertex parent all the empties to that vertex. (In this case to do a vertex parent, select the empties you want to parent, then select the object. Enter edit mode on that object. Select that one vertex, Press Ctrl + P, and click &quot;vertex parent&quot; Now, regardless of the character's location or rotation, the empties will stay in a fixed position relative to the character. If your character's physics type is set to dynamic or character, and there is no way it will ever rotate other than along the Z-axis, you can just use a normal parent for the empties.
The World Itself
You'll need fog set just right to make this effect go from nice to AWESOME. In this scene the following settings work, but depending on how dense you want to make your snowfall, you may want to tweak the fog settings to create the desired amount of visibility.

Of course, you'll also need a nice snow texture for the ground. It is kind of hard to get a good texture for this - I'm using a texture of ice to partially influence the material's color. This same texture controls the bump map.
I have a sky texture with the mapping set to reflection, also partially influencing the material's color.
All the important settings for the material:

And the snow plane in the scene:

Add in the snow, falling from a bunch of empties in the sky:

This is the very same method that was used to create the scene in the question. Settings are slightly different from those used in the following scene. To make lower visibility, make the fog end closer to the camera, and make the snow more dense:
Finished Scene

When combined with some wonderful explosions, the environment becomes Amazing.