I agree to an extent nigel, because the changes are generally pretty slight... but for someone who's completely new to it, it can be very easy to miss a few things. The datasheets do contain a lot of useful information, but when you don't know specifically what you're looking for they're not nearly as helpful. As a professor of mine (who taught courses involving PIC programming) once said, "once you can flash an LED you can change the world". 90% of the difficulty of a person's very first PIC project is often getting a SINGLE sign of life out of it, typically flashing an LED or something equally basic, because there's so many simple little things that can go wrong and cause it to do absolutely nothing.
Once you get it working in some capacity, then at least you can make gradual additions and changes to your code, and if it stops working at least you have the ability to go back to a known working state.
I know I'm preaching to the choir here with some of this, but you have to remember that it's not always quite as straightforward for beginners, mainly because of the multitude of things that can go wrong (especially if they're not starting with a nice, commercial development board with solid example code, and ideally, a book) Personally, I have done a lot of PIC programming, however I often go many months between projects, so I lose some of the familiarity; even after the many dozens of projects I've done, I still hit such roadblocks from time to time, and spend a half hour or an hour scratching my head over what usually turns out to be an incorrect bit in some configuration register, or something simple like that. A beginner would likely not even know where to begin looking.
I know you're very knowledgeable about PIC programming and I'm sure that just about everything involved in PIC programming and debugging is second nature to you, but I think a statement like you just made is a bit too belittling to an absolute beginner. Sure, I agree that if someone can't make such changes after they have some PIC programming experience under their belts, then they need to work on their programming ability some more, but for someone who is starting from scratch, with a homemade programmer and most likely wiring up the pic by hand on a breadboard or similar, it would not be unreasonable for them to have some difficulty if their very first program was one that they had attempted to convert to run on a different PIC than it was originally written for.