Some dll or other type of file could be missing in the client machine.
Do the client and development machine have the same OS? You could be using a function or procedure that takes different set of arguments when using the version installed on the client machine.
Have you identified the line of code that is causing this error?
Sysinternal’s Process Monitor is a tool that could help you identifying the call that is causing the error. Run it on the client machine, and run your program. When it crashes, stop capturing events with process monitor, and review the results.