I have put the following Validation Rule on the AssignedTo field on Task to avoid changing task owner if the logged in user is also the owner of the task
NOT(ISNEW()) && $User.ID = OwnerId && RecordType.DeveloperName = 'REC-TYPE-1'
I have checked the record type dev name and it is correct so I am thinking it could be due to the formula layout (although syntatically correct the parameters need to be in a different order?)
*I am trying to test this with the "login as" functionality - could it be that it doesn't trigger because of this? (reads my admin ID as the logged in user and not the user I am testing on)