¿Has visto el proyecto NHibernate.Spatial ? ? Esto puede proporcionar una solución fácil a su problema.
La alternativa es crear su propia implementación de ICriterion - esto no es demasiado complicado si se deriva de AbstractCriterion y se dirige a su plataforma de base de datos particular. Esto le permitiría combinar su función de distancia con otros criterios.