In fact its supposed to be an error to attempt to set on a StoredProcedureQuery or native SQL query.  This is the problem when you try to have one uber contract "to rule them all" ;)  I recently added those checks, so we'll likely need to readjust this pull request to account for those changes.