You could assign some procedure to the procedure variable in your unit in the
Code:
INITIALIZATION
part. This way you can assign your procedure variable a default procedure, and you won't have to check if it is nil. This is what I do in my projects, though you do have to be careful that your procedure variables are always initialized if you do not want to do checking.

I usually assign procedure variables some dummy procedures in the INITIALIZATION part. These dummy routines do nothing, but they prevent crashes in case of a call to a nil procedure variable. Then later on I assign them some other procedure.