Here is a code snippet we use to find the "NHibernate type" of a property; you certainly can find other information about this when you navigate the IClassMetadata and related classes (any tool that has auto completion with documentation tooltips is helpful here - VisualStudio, ReSharper, ...).
Code:
IClassMetadata metaData = _session.SessionFactory.GetClassMetadata(persistentClass);
return propertyName == metaData.IdentifierPropertyName
? metaData.IdentifierType
: metaData.GetPropertyType(propertyName);
Regards
Harald