Разве вы не должны использовать execute as user='ABCUSER'
?В вашем описании нет пользователя с именем 'dbo'.
РЕДАКТИРОВАТЬ:
Хмм, все в порядке, но вы не предоставили никаких полномочий пользователю 'dbo'.Если есть пользователь по умолчанию 'dbo', вы должны выполнить это: GRANT IMPERSONATE ON USER::ABCUSER to dbo
Пожалуйста, посмотрите здесь для получения дополнительной информации.