From OnFetchEntity/OnFetchEntityComplete you only have access to the IEntityFields. Looking closely I think a better place to you is the EntityCore.OnValidateEntityAfterLoad. You can override it in the CommonEntityBase:
public abstract partial class CommonEntityBase
{
protected override void OnValidateEntityAfterLoad()
{
base.OnValidateEntityAfterLoad();
// raise your event
}
}
... and yes, if you use LINQ2LLBL to materialize entities, that method will be called as well.