It appears we both have a point. MIDI messages are sent using the values 0-127 but going by http://www.midi.org/, the GM specification numbers the programs from 1-128. In other words to set GM program 1 (Accoustic Grand Piano), MIDI is sent the value 0.
Reading elsewhere, it would appear that systems that don't comform to GM have been known to use a 0-127 or a 1-128 numbering system. BTW, I've found y version of Cakewalk offers a choice of both of these options in its range of patch names.
Just my opinion, but given the internal messages are 0-127, using the range 1-128 for Patch numbers is confusing but there again I suppose they thought 0-127 would be hard for some humans to understand.