An attempt to procure a Matrox m3D around six years ago turned out to be a dud - upon installing and firing the system up the system didn't even see it... 'twas simply fried. The opportunity to try again hasn't come up since.
However, I owned a Kyro II for a couple of years before I finally broke down and snagged a friend's secondhand Geforce3. The DirectX 6 featureset posed some interesting problems: there was no support for compressed alpha-blended textures, so certain behavior (Quake III's transparent gibs, coronas, particle effects, &c.) slowed performance down when things got busy. Increasing resolution sometimes resulted in bizarre, non-linear performance scaling ussues. The two-pipelined architecture also didn't cope well with antialiasing or anisotropy. Pairing those two up was a pretty certain way to make the card choke, frequently to the point of crashing the application (!). The lack of cubemapping support occasionally reared its head in Unreal Engine 2.x games, though didn't amount to much in real-world terms.
All of that said, it was terrific for older applications. 16-bit applications literally couldn't look better than they did on the Kyro II, which rendered everything at 32-bit accuracy and then finally did a high-quality downsampling just before the image was sent to the RAMDAC. The first two Serious Sam games looked wonderful and ran nearly as well as they managed on the GeForce3, Quake III Arena and its countless engine-sharing offspring glowed, and even Unreal II grunted along with good cheer.