You're going to find the code is the same across just about the entire family is the same, but the 'configurations' will be different as appropriate for the actual chip you are using.

For example, I did all my development using what was called the 9S12Badge. This device had a 9S12DP256B part on it. When I wanted to develop for a project, I 'wire wrapped' in the badge for the project. Then, wheh the first batch of boards were made, using something like a 9S12A128 or whatever, I would just mount down the new chip and adjust my configuration to match.

Where things can get tricky concerns things like overlaps of EEPROM, registers, and SRAM. Or using I2C vs bit bang. Or page management of the flash, for example.

And some parts have other considerations. For example, a pin restricted part may need pins that are not bonded out to be treated a bit differently in software, to make sure they are benign, even though you didn't necessarily have to do that on parts that had the pins bonded out kind of thing.

Yes, there are always issues, but the parts of a family are all 'generally built from the same building blocks and that shouldn't be an issue.

Apart from memory mapping issues you might also get problems if you are using an evaluation board with an old mask set (like the Future badge board does). The old "B" masks of DP256 didn't support Pierce ocillator while the old masks for DG128 did. This is pretty undocumented, but if you look in the older datasheets of Dx256, they actually don't mention the Pierce oscillator.

There are also loads of other silicon bugs in the old masks. My advice if you buy an old EBV is to replace the mcu with a new one, preferably of the derivate you plan to use in production.