Seems to be a great program. Just add "Auto paste on clipboard change" and "Auto translate on paste" options and it would be convenient to use with AGTH.
Few technical notes:
1) I always get cut off in Babel Fish translation on '「' and '」' symbols. They are indeed turn into '\0' in html response. But how they are processed is not a bug in Microsoft's code, but in yours: you use 'strstr' and 'strlen' functions and they work with null-terminated strings, so '\0' is end-of-string marker for them. The simplest workaround is to use something like this after you do MultiByteToWideChar/WideCharToMultiByte with length and before any str* functions:
2) You do too many MultiByteToWideChar/WideCharToMultiByte conversions. It's better to just MultiByteToWideChar once from any source encoding you have into UTF-16 and than work with wcs* and *W functions instead of str* and *A. Also i think it's better to use *W WinAPI everywhere for consistency.
for (int i = 0; i < text_len; i++)
Text[i] = ' ';
Text[text_len] = 0;
3) Instead of looking into hardcoded "C:\\Program Files (x86)\\ATLAS V14\\" and "C:\\Program Files\\ATLAS V14\\" i think it's better to use registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\ProgramFilesDir or SHGetFolderPath api.
4) MS Visual C++ 6 is very buggy - you should really switch to Visual C++ 2005 or 2008 (Express editions are free).
5) There are some fair ways to reduce compiled program size, not just UPX'ing. ^_^ In general packing programs is bad - they take less hdd space but more ram when work.
6) Are you sure '#ApplicationLocale' do something useful for you? I thought it works only on creating new process, not on loading dlls. Or you are using it for calling self with "/ATLAS:DICTSEARCH" ?