Is someone with the technical abilities to build a guided missile really going to be deterred by the fact that off the shelf civilian GPS firmware is crippled in this way? The specifications for the GPS system are publicly available and many manufacturers have successfully used them to build GPS receivers, so it can't be rocket science (pun intended). And even if one were to use off the shelf GPS components, how hard would it be to modify the firmware? Firmware is just software stored in some type of read only or flash memory. Would it be that hard to download, inspect and modify it? It seems to me it would be about as hard as removing copy protection from a game.
Yes, it is a substantial deterrent. The limitations are imposed in the lowest-level parts of the GPS receiver, the first stage of data processing at which it is technically feasible to infer speed and altitude. The hardware that runs this code is highly specialized - it's a mixed analog/digital RF ASIC that is designed in hardware to run that specific code, including the limitation. There is little distinction between hardware and firmware at that point, and it is likely that the code responsible for the limitation is not programmable/reprogrammable at all. The sophistication needed to build a rudimentary short-range guided missile is surprisingly basic, and many hobbyists (or terroristically-inclined groups) could do it without too much difficulty, on a five-figure or low-six-figure budget. The GPS limitation significantly hinders the on-target accuracy that could be achieved, since the high speed terminal phase of the flight is where excellent guidance in an absolute reference frame is most important. The sophistication needed to build or microscopically alter a GPS receiver without the limitation is significantly greater (and in an entirely different technical field) than what is needed to build a missile that would benefit from that GPS guidance.