I don't think that's at all likely, it's not the way Windows libraries usually work: generally the 64-bit library and the 32-bit library have identical function names and templates. There may be a very small number of exceptions but they're rare, certainly not a "whole set".
List an example of an API function which appears to exist in the 32-bits DLL but not in the 64-bits DLL.
I'm sure it does, yes. The way these things usually work is that the 32-bit and 64-bit libraries share the same source code (typically in C or C++), the only thing determining whether a 32-bit or 64-bit DLL is generated is the compiler. Therefore if a data type is declared as float in the source code it must necessarily be 32-bits in both DLLs, similarly with double (64-bits float), int (32-bits integer) etc.Questions like does d3d still operate with float4 variables etc.
My experience with porting code from a 32-bit platform to a 64-bit platform is that it's generally straightforward. Obviously addresses / pointers (and in many cases that also includes handles) must be stored in variables able to hold a 64-bit integer, and sometimes alignment changes (which can alter the layout of a structure).
You may find it helpful to look in one or more of the 3D libraries used by BBCSDL (ogllib.bbc for OpenGL, gleslib.bbc for OpenGLES and webgllib.bbc for WebGL) which are all compatible with both 32-bit and 64-bit platforms. You will find a few bits of code which test whether it's 32 or 64-bits and does something slightly different, but not much.
I describe the main things that you need to be aware of when adapting code to be 64-bit compatible in the differences document.