La clave para depurar situaciones como estas es ejecutar la subconsulta / vista en línea por sí sola para ver cuál es el resultado:
SELECT TOP 1
dm.marker_value,
dum.profile_id
FROM DPS_USR_MARKERS dum (NOLOCK)
JOIN DPS_MARKERS dm (NOLOCK) ON dm.marker_id= dum.marker_id
AND dm.marker_key = 'moneyBackGuaranteeLength'
ORDER BY dm.creation_date
Al ejecutar eso, vería que el profile_idvalor no coincidía con el u.idvalor de u162231993, lo que explicaría por qué mbgregresarían las referencias null(gracias a la combinación izquierda; no obtendría nada si fuera una combinación interna).
Te has codificado en una esquina usando TOP, porque ahora tienes que modificar la consulta si quieres ejecutarla para otros usuarios. Un mejor enfoque sería:
SELECT u.id,
x.marker_value
FROM DPS_USER u
LEFT JOIN (SELECT dum.profile_id,
dm.marker_value,
dm.creation_date
FROM DPS_USR_MARKERS dum (NOLOCK)
JOIN DPS_MARKERS dm (NOLOCK) ON dm.marker_id= dum.marker_id
AND dm.marker_key = 'moneyBackGuaranteeLength'
) x ON x.profile_id = u.id
JOIN (SELECT dum.profile_id,
MAX(dm.creation_date) 'max_create_date'
FROM DPS_USR_MARKERS dum (NOLOCK)
JOIN DPS_MARKERS dm (NOLOCK) ON dm.marker_id= dum.marker_id
AND dm.marker_key = 'moneyBackGuaranteeLength'
GROUP BY dum.profile_id) y ON y.profile_id = x.profile_id
AND y.max_create_date = x.creation_date
WHERE u.id = 'u162231993'
Con eso, puede cambiar el idvalor en la wherecláusula para verificar los registros de cualquier usuario en el sistema.