>>705
とりあえず、いろいろ調べてみたよ。

TCHAR buf1[80];
TCHAR buf2[80];
//WideCharToMultiByteを使うのに、なぜbuf2がTCHAR?
//MultiByteに変換するなら、変換後の文字列を格納するのはchar型では?
//それと、バッファは使う前にnullクリアしておけ。

char buf[2];
DWORD wsize
wsprintf( buf1, TEXT("%s\n\n"), TEXT("1230123ABC"));
//確かに\nでは、0x0a(LF)しかバッファに入っていなかったのは、分かった。
//なので、TEXT("%s\r\n")とすることで、0x0d(CR)を入力することが出来るよ。

WideCharToMultiByte( CP_ACP, 0, buf1, -1, (LPSTR)buf2, sizeof( buf2), NULL, NULL);
//変換後のMultiByteをTCHAR型に格納すると、どうもよくないようだ。

WriteFile( hFile, (LPVOID)buf2, wcslen( buf2)*sizeof( TCHAR), &wsize, NULL);
//すでに指摘があったように、wcslenはおかしいだろう。
//buf2をcharに宣言しなおしてここは、strlenに変更する。

buf[0] = 0x0d;
buf[1] = 0x0a;
WriteFile( hFile, (LPVOID)buf, 2, &wsize, NULL);
//このコードでも、CRLFはファイルに書き出せた。
//これが、有効にならんのは、前のWideCharToMultiByteでbuf2の内容がおかしいからだと思う。
//あと、バッファを初期化してない点も影響していると思われ。