Have you tried deleting the cleintregistry.blob? As this causes a lot of steams problems.
EDIT - Also please check TF2 is set to auto-update, right-click it on your steam games list, goto properties, then updates, then check it is set to "always keep game up to date"