... if the developers have to develop for a multi user and limited rights user OS they will actually build software that obeys those constraints...
The problem here is that you're talking about the difference between needing to respect constraints and being able to work outside of those constraints to set them in the first place.
If you take the simple Windows example of building a local service, you can see the complications for the non-admin developer. First off, how do you install the service that you've just built? The service can run in a local context, but it needs to be installed using an admin context. Now if I can't install the service, how do I test it? Can I attach a debugger, do I have those permissions?
Note that this isn't an issue of getting the service onto the user's computer, the sys admin can manage that process. This is a matter of being able to pretend to be an admin to get stuff working on my own computer before I push it out to users. Now it is possible to manage permissions in such a way that I can actually test what I'm doing without needing full admin permissions. But in most domains the simplest way to do this is to simply provide admin permissions (to the machine, not the domain) and let the devs support themselves.
The other major option is to set up some VMs for doing this, but then you have the problem of needing to create network test users so that the dev can manage the machine but still access resources on the network as if they were local. So it's a similar problem in a different place.