some program installers are stupid and assume that the version of directx included with the program is the latest version, this doesnt allow for the fact that you may install that program 2 or 3 years after it was released, windows will do the same thing, if you install windows over your current install then it sets directx back to what it was when your OS was released and you have to install again, some older programs have even tried to change directx back to 3, (even though you can`t uninstall dx9.0a), just install the directx from the DB cd, BTW...for £50 or so you could buy a MUCH better card than you have now, even something like my lowley (cheap) Ge Force 4mx would be better than that (I get 179fps from the snippet) although your test isn`t a true test of the cards 3d speed since I have had more than that on some 3d snippets, clearing the screen is limited to how fast the card can get a few million zeros stuffed into the screen buffer, that can take time since pro has to send the zeros to the card , and the card is not that heavily optimised for 2d operations, for example this..
sync on
sync rate 0
make object cube 1,10
do
a$=str$(screen fps())
text 0,0,a$
turn object left 1,1
sync
loop
gives me 447 fps, even though thats a 3d object being calculated and displayed in realtime, true 2d operations will always be slower, I have never seen a 2D accelerator

(although some cards promise "faster" 2d) but you would need to be able to buffer the fonts and images on the card itself, plus have some functions built into the card so that at one command the buffer was set to zero by the gpu etc, trouble is that most 2d is used in the office, and you dont need word to run at 500fps, the nearest is that some cards support 2D blitting, but thats since it is useful for the 3D part of the card (swapping textures etc) more than to help 2D fps

cheers.
Mentor.