Нет, 64-разрядный процесс может загружать только 64-разрядные библиотеки DLL, а 32-разрядный процесс может загружать только 32-разрядные библиотеки DLL. Вероятно, вы думаете о том, что 64-битная операционная система может запускать 32-битные процессы .
Основная проблема с .NET заключается в том, что - до VS2010 - исполняемые проекты по умолчанию имеют значение «AnyCPU», что означает, что он будет загружаться в «родном» формате ОС, на которой работает (например, 32-битная для 32-битных версий). Windows и 64-разрядные для 64-разрядных версий Windows). Проблема в том, что если вы тестировали свое приложение на 32-битной Windows (скажем), оно могло сломаться, если вы загрузили 32-битные DLL и попытались запустить на 64-битной Windows.
В VS2010 по умолчанию все исполняемые проекты по умолчанию были "x86" (то есть 32-разрядными), что (по большей части) устраняет проблему.