To make a user non-interactive, I think you need to set both the accessmode and the isintegrationuser flag. There's no way to change these via the UI, but they are both marked as ValidForUpdate , which means it should be supported to change them with code
using a Update message on the systemuser entity. However, it's possible that there may be additional logic to prevent setting the accessmode to these values.
Do you really need to prevent users logging on with these accounts ? I'd normally ensure only appropriate people know the passwords for service or integration accounts
Microsoft CRM MVP - http://mscrmuk.blogspot.com/ http://www.excitation.co.uk