The OS has no objections (at least XP hasn't). Here is a testpiece. Apologies if it looks a bit basic

include \masm32\MasmBasic\
MasmBasic.inc ;
download Init Let esi="Hello, this is string #"
xor ecx, ecx
.Repeat
inc ecx
Print esi,
Str$("%i\n", ecx)
Delay 100
.Until ecx>=10
Let edi=
FileRead$("SendStringsToConsole.exe")
; <<<<<<< that's myself!! xor ecx, ecx
.Repeat
push
esi mov edx, ecx
.Repeat
movzx ebx, byte ptr [edi+edx]
; we are looking for "Hello..." inc edx
lodsb
.Until al!=[edi+edx] || !al
pop
esi .Break .if !al
inc ecx
.Until ecx>=
LastFileSize .if !al
Inkey CrLf$, "[", esi,
Str$("] is at position %i", ecx),
Str$(" of %i bytes.\nRelaunch clone (y)?\n",
LastFileSize) .if eax=="y"
Open "O",
#1, "SendStringsToConsoleClone.exe"
mov byte ptr [edi+ecx+19], "o"
; look out for "strong" PrintBuffer #1, edi,
LastFileSize Close Launch "SendStringsToConsoleClone.exe"
.endif
.else
Inkey "[", esi, "] not found"
.endif
Exitend start