-- Proper way to set a variable, will only work properly if one row is returned
SELECT @UserId = UserId
FROM aspnet_Users
WHERE UserName = @username
Кроме того, если UserId в таблице aspnet_Users не является UniqueIdentifier, вы получите ошибку, которую вы описали в своем сообщении.
ОБНОВЛЕНИЕ
Послеперепроверив код OP, я понял, что ошибка не в присвоении переменной, а в предложении WHERE.
Поле UserName в таблице aspnet_Users, вероятно, VARCHAR, а параметр @username для SP - uniqueidentifier..
Попробуйте изменить @username на varchar и посмотрите, работает ли оператор.