As you alone said in the comment, the renderer is set in Preload(), so the only explanation is that the model is already invalid at that point, but dee notices that and ignores the call (while logging a critical), doing dee_model_get_tag([invalid], tag) will then return NULL of course.
Other times dee doesn't notice that the model is invalid, and crashes inside itself.
As you alone said in the comment, the renderer is set in Preload(), so the only explanation is that the model is already invalid at that point, but dee notices that and ignores the call (while logging a critical), doing dee_model_ get_tag( [invalid] , tag) will then return NULL of course.
Other times dee doesn't notice that the model is invalid, and crashes inside itself.