Your "size of image" covers only the header area; the .text
section and the entry point lies outside of it. Set it to at least 1006 and the file should work.
How I found it:
Made a minimal C program:
int entry() { return 42; }
Compiled it without libraries and with custom entry:
cl test.cpp /link /nodefaultlib /entry:entry /subsystem:console
Started editing the header to match your listing, and run the exe after each change. Once I changed the SizeOfImage to 1000, I got the "not a valid Win32 application" message.