Not enough information to say what do you do wrong.
You need to understand that you cannot mix different
instruction-set architectures in one process. Not only 32-bit (x86) with 64-bit, but you cannot mix different 64-bit architectures (x86-64 (also known as AMD64) and IE-64 (Itanium), they are different). Please see:
http://en.wikipedia.org/wiki/Instruction_set,
http://en.wikipedia.org/wiki/X86,
http://en.wikipedia.org/wiki/X86-64,
http://en.wikipedia.org/wiki/Itanium.
Yes, you can use 32-bit DLL on a 64-bit OS, but how? Only in some 32-bit processes. On Windows, this is done via WoW64:
http://en.wikipedia.org/wiki/WoW64.
—SA