Hola!
La consulta que estás haciendo se basa en una función (Max), por lo que siempre te va a devolver una única fila. Si la tabla está vacía, te devolverá el valor Null en ese campo, y si no, el máximo del campo, pero siempre será una fila. De hecho, si consultas Rs.Fields(0).Value, verás que es nulo.
Por tanto, si lo que quieres es comprobar que la tabla está vacía y asignar un valor dependiendo, hazlo así:
Código:
Call Rs.Open("Select max(idauditoria) AS Maximo from AudiPtoventa", cn, adOpenDynamic, adLockOptimistic)
If IsNull(Rs!Maximo) Then
' Asigna 0 (la tabla está vacía)
Else
' Rs!Maximo contiene el mayor valor en IdAuditoria
End If