I think you triggered a glitch, perhaps. As *.COM extension is from MS-DOS and only for 16bit binaries, 32bit Windows created a PIF shortcut for those files which would trigger compatibility layer to set up the 16bit-related environment. However, this part does not exist on 64bit Windows as 16bit executables are old enough and there are many alternatives to run them; DOSBOX for example.
However, it seems that the routine to detect this situation still exists on x64 Windows and gets triggered by targeting a *.COM file, whilst the compatibility layers are all gone!
You can check by yourself that the attempt to create a shortcut to a COM file still produces a PIF file:
- Create a new empty folder.
- Copy any COM file you'd like to test. Even you can rename any file to *.COM.
- On the folder, right click and select new-shortcut.
- Enter the full path of your test COM file and click "finish"
- It'll say that "unable to create shortcut" but the shortcut is actually made.
- See the properties of the new shortcut - it's PIF.
However, as x64 Windows does not have 16bit compatibility layer any more, that PIF cannot run and cannot be set up correctly. It is naturally believed that the logic to produce PIF files to COM should be removed as well but by some reason it is not done yet. What I can guess about the reason is.. since it's really rare to use COM file on x64 Windows, it had very low priority to fix.
So, what are those *.COM files in Windows folder then? They are actually 64bit "EXE" file format executables but renamed to *.COM for old batch scripts.
It is also true that the shortcut to a COM file may cheat users to run a malware so that MS intentionally blocked this, but it's still possible to attach a renamed COM file (which is originally an EXE file) directly on an email or something anyway, and it's still also possible to create a shortcut to a regular EXE file and then rename it to *.COM. So I don't think the security issue was the main reason to make Windows do this strange behaviour. If it was for the security issue and intentional, it would display a proper error/warning message.