Если с помощью файлов *.reg, то можно использовать 16-чное представление текста (в UTF-16):
[HKEY_CURRENT_USER\TEST.TMP]
"text"=hex(1):48,00,65,00,6c,00,6c,00,6f,00,2c,00,0d,00,0a,00,77,00,6f,00,72,\
00,6c,00,64,00,21,00,00,00
Или использовать иные средства. Например, JScript:
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.RegWrite("HKEY_CURRENT_USER\\TEST.TMP\\text", "Hello,\r\nworld!");
Но, что касается вашей задачи, файл будет создаваться в UTF-16 без BOM. Не думаю, что это то что вам нужно. Но тогда использование строковых данных, даже если не нужны переносы строк, изначально неправильно. Просто используйте hex-дамп создаваемого файла:
"Data"=hex:48,65,6c,6c,6f,2c,0d,0a,77,6f,72,6c,64,21