Isso está claramente documentado pela Microsoft no MSDN em http://msdn.microsoft.com/en-us/library/ms190329(SQL.90).aspx, que afirma que LEN "retorna o número de caracteres da expressão de string especificada, excluindo espaços em branco". É, no entanto, um detalhe fácil de perder se você não for cauteloso.
Em vez disso, você precisa usar a função DATALENGTH - consulte http://msdn.microsoft.com/en-us/library/ms173486(SQL.90).aspx - que "retorna o número de bytes usados para representar qualquer expressão".
Exemplo:
SELECT
ID,
TestField,
LEN(TestField) As LenOfTestField, -- Does not include trailing spaces
DATALENGTH(TestField) As DataLengthOfTestField -- Shows the true length of data, including trailing spaces.
FROM
TestTable