There have been times where a program failed to load due to missing dependencies or side-by-side inconsistencies. One of the tool available on Windows Vista is "sxstrace.exe" (normally located in \Windows\System32). sxstrace.exe can help you pin-point which dependent assembly is expected and is not found. Use sxstrace.exe /? to get the full options.
If you are not on Windows Vista, filemon or procmon can be used to help track down the offending assembly.
Hope that helps.