IMHO
Al di lā dei problemi riscontrati per evitare di fare una query ad ogni ciclo io utilizzerei il foreach per costruire la stringa con tutti gli ID utenti e formulare una query di questo tipo:
SELECT Nome, Cognome FROM register WHERE IDUtente IN (id separati dalla virgola)
... ovviamanete il result set restituito dovrebbe essere lo stesso ma (credo) con un risparmio sulla velocitā di esecuzione (oltre che di eleganza sintattica della query)

Rispondi quotando