Зададох нивото на регистър на хибернация на TRACE и открих проблема. Това всъщност беше грешка в картографиране/логика/база данни. Първичният ключ се състоеше от две колони (според класа на обекта) и една от тези колони беше nullable. Първичният ключ обаче никога не може да бъде нулев. Следователно хибернацията винаги е връщала нула.