Tenias razon U Goldman.Ahora
con las modificaciones que he puesto en color rojo tambien me muetra para el primer registro, pero ahi algo que no llego a entender, si ahora borro lo que hay entre los dos

no me muestra tampoco lo del primer registro, el resto no los muestra pero por que los he dejado de solicitar, pero ¿por que dejaria de mostrar el primero?
<%
function IntervenMensaje(idcliente,idmensaje)
dim sql, rsIntervenMensaje
sql = "select idmensaje from Foro where idcliente=" & session("idcliente") & " AND idcabeza=" & idmensaje
'Response.write(sql)
'response.End()
set rsIntervenMensaje = Db.Execute(sql)
if not (rsIntervenMensaje.BOF and rsIntervenMensaje.EOF) then
participado=1
else
end if
rsIntervenMensaje.close
Set rsIntervenMensaje=Nothing
end function
%>
DIM mySQL, objRS
mySQL = "SELECT * FROM foro WHERE IdCabeza=0 AND aprobado=0 ORDER BY Fecha DESC"
%>
<%
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.CursorType = 1
objRS.Open mySQL, db
DIM intPageRecords, intRecordCount, intCurrentPage
DIM intNumberOfPages, intDisplayPage
intPageRecords = Request.Querystring("pagina")
IF intPageRecords = "" THEN intPageRecords = 1
intPageRecords = ((intPageRecords - 1) * 6) +1
intRecordCount = 0
%>
<%If session("idcliente")<>"" then%>
<%=IntervenMensaje(session("idcliente"),objRS("idm ensaje"))%>
<%If participado=1 then%>
<img border="0" src="imagenes/participado.gif">
<%'para volver a incializar la variable participado%>
<%participado=0%>
<%else%>
<%end if%>
<%else%>
<%end if%>
<%
IF NOT objRS.EOF THEN
objRS.Move (intPageRecords - 1)
DO WHILE intRecordCount < 6 and NOT objRS.EOF
%>
<%If session("idcliente")<>"" then%>
<%=IntervenMensaje(session("idcliente"),objRS("idm ensaje"))%>
<%If participado=1 then%>
<img border="0" src="imagenes/participado.gif">
<%'para volver a incializar la variable participado%> <%participado=0%>
<%else%>
<%end if%>
<%else%>
<%end if%>