Stuffed in a box in the trunk of the car I most recently purchased were two fog lights; one with severely pitted lens and the other was cracked with gaping holes. With a little searching I came across a thread on E30Tech:
http://www.e30tech.com/forum/showthread.php?t=47457 and went from there.
Does this look familiar?

Instead of a hammer, I used a spring loaded punch.
Tip: Mask the lens off with tape to prevent the punch from sliding across the glass. The tape will also cut down on flying glass!!
Safety glasses and heavy gloves strongly recommended!!After a couple of "whacks" the glass started to crack into several sections...

Prepare the light housing to accept the new lens by cleaning out all the glass and old black sealing material...

Inspect the new lens for "flash" and burrs. Clean up the edges so the lens will sit in the channel you cleaned up in the previous picture...

I used 3M Weatherstrip adhesive and filled in the channel. It will flow out and level off nicely...

Install the lens and place some weight on the face to hold in place. Walk away for ~24 hours...

At the same time I bought the lens, I also ordered a set of 40 mil Lamin-X covers for $17.95 + shipping
http://www.lamin-x.com/BMW-E30-88-91-Fog-Light-Covers-p/b106.htm. Installation was easy, but I didn't take any pictures of the process.
Apply a thin bead of adhesive between the front and back edges of the lens and slide the gasket into place. I did this one edge at a time in order to get the gasket to sit flush to the lens.

I still have to cut the holes for the adjusting screw caps, but that's it.
