Inicializa explícitamente DWORD a 1, pero el depurador muestra un valor fuera de rango

Estoy un poco desconcertado con este problema: en el modo de depuración, este problema no aparece en absoluto, pero en el modo de lanzamiento parece que no hay casi nada que pueda hacer para solucionarlo.

Aquí hay una captura de pantalla de lo que sucede dentro de VS2013:

Yo inicializonResult a 1L, y el valor interno se muestra como 3422785012. En modo de depuración, este valor es de hecho 1L.

Alguna idea de por qué el valor mostrado no está ni siquiera cerca del valor inicial que configurénResult? He intentado jugar con la configuración del compilador: en el modo de depuración, este código funciona bien.

Respuestas a la pregunta(2)

Su respuesta a la pregunta