ma che hai combinato ?
Mentre cicli in un recordset, dall'interno dello stesso ciclo chiami una procedura che ti cambia DUE VOLTE lo stesso recordset?
Come pretendi che funzioni una volta che, terminata la prima chiamata alla procedura, torni nel loop con il recordset non + referenziato?