I'm not familiar with Siemens. So this functionality can put the PLC into program mode, download the program then turn on Run mode? Is there a physical "lockout" switch to prevent this from happening like an AB PLC?
The S7-1500 PLC switch only has three modes: "Run", "Stop", and "MRES". If you want to limit access, you can use a password on the PLC to allow no access, HMI only access, read only access, full (read/write) access, and full access including safety. You can have a different password for each of those levels at the same time, if desired.
The older 300s and 400s had the same run/stop switch. The password modes were slightly different. The PLC had one password, and you picked with level it was associated with.
Downloading to the PLC means something a bit different as well. My understanding is that on the AB side, a "Download" is pretty drastic. It causes the PLC to stop executing and overwrites all the tag data.
In the Siemens world, most downloads are much gentler. Normal software downloads don't stop the PLC (which is where the common complaint about no online edits comes from. you don't need to). Only downloads that include changes to HW (CPU properties, IO cards, etc) or safety code require a stop. Data is also handled a bit differently. The active values in the PLC don't get changed during a software download, unless you change the structure of the tags.
I could definitely see situations where a company might want to roll out updates to standard library blocks (think AOIs used across the facility) to many PLCs automatically, after they had been thoroughly tested in the lab, and as part of a documented change management program. Obviously, if you DL stupid changes you're gonna have a bad time, but automated code rollouts after a defined testing procedure is how the PC based programming world has done things for years.