Допълнителната 0 се добавя, защото цялата стойност, на която я задавате, е странна. SQL Server ще го допълни с допълнителна 0, за да го направи равномерен.
declare @varmax varbinary(max)
set @varmax = 0x1234567 --odd
select @varmax --returns 0x01234567 with the padded 0
set @varmax = 0x12345678 --even
select @varmax --returns 0x12345678
Вашето 9 се изпуска, защото въвеждате нечетен брой байтове, които запълват максималната стойност. И така, вмъква се 0, но това превишава максималния брой байтове и по този начин също изглежда съкратено. Успях да репликирам вашата грешка... но все още не знам начин да я заобиколя.
Ето стойността, която използвах за вашия тест. Игнорирайте резултатите... но можете да ги копирате във вашия собствен SSMS и да видите правилния резултат.