Here's one: Ability to verify instruction and address range compatibility with a given CPU offline.
I once had a project where I was using a semi-standard program framework that had been developed for an 06, but the I/O requirements of this particular project was a better fit for an 05. I simply made the program changes and changed the offline PLC config to an 05, and DSoft saved it without complaint, so I thought everything was fine and had been verified to be so. Then when I went to download it (now on the critical path for completion), it wouldn't download because I used instructions not supported in the 05. So I called tech support and the guy insisted that this was natural and unavoidable given that the DSoft doesn't have a "simulator". To me a "simulator" is for verification that your application does what you want it to, not for verifying that it will run on the target CPU. Many other brands of programming software that don't have a simulator (by the definition I just gave) will still warn you if you've done something that won't run on the CPU you've indicated.
If there's no verification done, what is the point of making the programmer tell DSoft what the CPU is? Seems like it would just be busy work for which he doesn't get anything in exchange.
Now memory range verification is quite a bit easier to do manually, expecially on long programs, because you can just do a usage view and compare with the PLC memory map accessible from the menu. But at least instruction verification would be nice.