This might not exactly answer how to fix this specific issue with how windows behaves with application keyboard shortcuts. But I had this same problem like just yesterday, and the alternative solution I found worked best for me (and as a nice bonus doesn't require me to have a shortcut on my desktop or anywhere else) was using AutoHotkey
With autohotkey you can create scripts in a format like this:
^!x:: ;Ctrl+Alt+X
Run, C:\Program.exe ;or a similar absolute path to the program, batch script or whatever it is you want to launch.
return
The above script will run C:\Program.exe when I press Ctrl+Alt+X when running, and it is rather absolute (i.e. not as likely to fail as those stupid windows shrtocut file keyboard shortcuts, they seem kinda badly implemented if you ask me)
This script would have to be in an autohotkey script file with a name something like startprogram.ahk and if you want to start this script on startup (so that it is always active, i.e. the shortcut you created can always be used as soon as you start up your computer) you can place it in C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
And it will autostart along with every other program you put in there when you boot. Nice and easy. To test the script you simply run it by double clicking on it and it executes like any other program.
You can find a list of valid key-symbols here (like + for shift, # for win logo key, etc) or alternatively here is a list of all valid keys and how to write them into a script (turns out you can write shift as "Shift" and not "+", be sure when you're writing scripts to be careful with upper/lowercase letters, these things matter).
Don't forget that you can put as many shortcuts as you want in one script file, (after the return line just put another shortcut that looks something like the above code sample) so you only need to have one script for your keyboard shortcuts. The only downside to this program is that some online games with punkbuster/anti-cheating systems will detect autohotkey as a potential cheat, so if you do a lot of online gaming (especially shooters) you may want to keep that in mind.
In your use case the script would look like this:
^Numpad0:: ;Ctrl+NUM0
Run, C:\Windows\System32\calc.exe
return
And you can also for redundancy add a shortcut that does the same with
NumpadIns (for times when num lock is off) if you'd like.
Hope this was helpful.