non sono espertissimo di upload.. ma in realtà non stai affatto rinominando il file che carichi.. rinomini solo il temp, se non ho capito male, e non so se puoi farlo..
la variabile $nome è ok, ma non stai rinominando il file, stai solo rinominando una variabile che utilizzi con un nome nuovo, ma ovviamente il file si chiama in altro modo e non lo trova se aggiungi $cont.
cioè manca proprio la funzione rename
dovresti fare in maniera diversa, ma non ho sotto mano esempi per aiutarti e a memoria sbaglierei di sicuro. la logica dovrebbe essere che se un file esiste lo rinomini, poi in caso inserisci il nome nel DB. se invece non esiste lo lasci così.
Io in questi casi, per semplificare e con alcuni clienti, rinomino tutto con l'id, come fai tu col contatore. lasciando l'estensione originale così avrà nel DB
id nome
1 1.pdf
2 2.jpg
3 3.pdf
al massimo se si cancella un file sfalza tipo
1 1.pdf
2 2.jpg
4 3.pdf

e dico al cliente di non uploadare file che abbiano solo un numero con l'estensione.
in casi più complessi potresti utilizzare un numero random da 8-10 cifre in modo da rinominare il file con una sequenza numerica.
per ora ti saluto