Is it possible to call a function in a DLL loaded dynamically without making use of function pointers.
No, you will always need function pointers.
But why don't you make a wrapping class, with one method for every function in the DLL that you want to call, and handle the function-pointer stuff in the class. That way you hide the function-pointer stuff for the rest of your application.
Yes, sort of, depending on what you're trying to accomplish. At least for some purposes, the linker's delayload switch can give roughly the effect of explicit dynamic linking, without requiring that you define pointers to all the functions you're going to use, use GetProcAddress to assign values to those pointers, etc.
Maybe Delay Loaded DLLs would be considered dynamic loading? If so, you call a function in it just like you would call a statically linked function.