Компилляция под 86 & 64 — C++?
Проблема в том, что у вас dll. А для dll разрядность программы должна совпадать с разрядностью dll. Вам нужны обе версии.
Программы под 32 бита будут работать на 64битных системах, по крайней мере должны. Разница в выделяемой памяти для переменных. А системе с большими битами все равно скольких битный код, если не больше чем она может воспроизвести. Если не прав - поправьте