Scusate il gioco di parole ma ho una funzione che non va bene

codice:
	Set Conn = Server.CreateObject("ADODB.Connection")
	Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("\mdb-database\xxxxxxxxxxx")

		function immagini(param)
			Set Rs0 = Server.CreateObject("ADODB.RecordSet")
			SQL0 = "SELECT * FROM immagini where id_u="&param&" and protezione=No"
			Rs0.Open SQL0, Conn, 1
		    if NOT Rs0.EOF then
		    Do Until Rs0.EOF
		  	immagine=Rs0("foto_personali")
			Rs0.MoveNext
			loop
			else
			immagine="noimg.jpg"
			end if
			Set Rs0 = Nothing
		end function


	
	Set Rs = Server.CreateObject("ADODB.RecordSet")
	SQL = "SELECT * FROM utenti where conferma=1 order by id_utente"
	Rs.Open SQL, Conn, 1
    if NOT Rs.EOF then
    	Do Until Rs.EOF
    	param=Rs("id_utente")
    		immagini(param)
    		
    		nome=nome&Rs("nome")&" - "&Rs("id_utente")&" - [img]&immagine&[/img]
"
		RS.MoveNext
		loop
	else

	end if
	Set Rs = Nothing
Richiamando la funzione immagini(param) il primo record me lo da senza immagine perche?