Your problems with S3-based video cards and XFree86 may not be due to misconfiguration. I have a S3 968 card, and though it worked well in one of my machines, I could not get it to work in another one. I got black screens only.
Do you have an LX motherboard? After some Dejanews searching (LX & S3 & linux), I found that various S3-based cards don't work properly with XFree86 and LX-based motherboards. This problem -may- be fixed in XFree86 4.0. Some claim that the alpha-quality S3 server in XF86_SVGA works, but it did not work for me. I have one LX machine that my S3 card works in, and another LX that it does not, with an identical XF86Config. I have given up and ordered a cheap ($20) refurbished Matrox Millennium. It's a better card anyway; I already have one in one of the machines. Dan Halbert