A bad clock spring can cause issues like this, but the bad speedo could be that the cluster is dead.
My rpm and speed niddled use to go crazy every now and then then I swapped the cluster it self, mines a 2004, ur 2003 might have the same speedo as mine if u change it make sure u switch that...