Have you checked the cable that goes from the gearbox to the dashboard? It may be disconnected/broken at the gearbox. To check that, open the hood and look for a cable coming from between the engine and the firewall and going through the firewall, into the dashboard, above the brake booster. ( I have a left-hand drive car). Close to the booster, there is a plastic connector. Undo it. Make the cable in the sheath going into the dashboard turn and have somebody check if the speed indicator moves inside. If it does, the speedometer itself is O.K. and the cable going to the gearbox is not. You can pull out the cable from its sheath ( The sheath is firmly connected to the gearbox) and examine it. Its round all the way except for the tip that goes into the gearbox: it should be square. If it isn't, the square tip might have broken off and is probably still in the gearbox-cable connection. In that case you need to change the cable!
I hope this will help you.
Michel Malavialle, June 2005