ma la domanda in sintesi è molto semplice

ricavare l'id precedente o sucessivo

"l'id precedente esistente"
è l'id precedente esistente, ovvero che esista, se ho questi record
1
2
4

e il 3 manca perchè è un record cancellato, non esiste più

Il campo id è auto_increment?
Se si:
- dopo aver fatto una query insert, puoi usare mysql_insert_id()
si si È autoincrement, ma mysql_insert_id() calcola il fattore record cancellati?