// прототип функции
// PDynaLink::Function - typedef указателя на функцию
void foo( PDynaLink::Function & );
// FunctionPtr - typedef указателя на функцию (сигнатура отлична от PDynaLink::Function)
FunctionPtr getSmth;
// пример кастования
foo( (PDynaLink::Function & getSmth );
Вот честно скажу - никогда доселе не видел, чтобы объект одного типа кастовали к ссылке другого типа.
Но подход оригинален.