Premio para don Diego.
La función StrLen mide cadena y una cadena siempre termina en cero (\0), como tu cadena de caracteres no termina en cero, pues sigue enviando caracteres.
Por contra SizeOf devuelve la longitud del objeto en memoria, en este caso es válido por que cada caracter ocupa un byte osease coincide el tamaño del objeto con el espacio ocupado en memoria.
Por cierto lo que has echo es un puntero descontrolado, en Windows eso te hubiera originado una bonita ventana azul con el mensaje "Excepción grave...."
Un saludo