En una cacerola grande, mezcla la leche y el azúcar. Calienta a fuego medio, removiendo constantemente, hasta que el azúcar se disuelva por completo.
En un bowl pequeño, disolver la maicena en 1/4 de taza de leche fría o agua hasta que no queden grumos.
Vierte la mezcla de maicena en la cacerola con la leche caliente. Sigue cocinando a fuego medio, removiendo constantemente, hasta que la mezcla espese y tenga la consistencia de un pudín (esto puede tardar unos 5-10 minutos).
Una vez que la mezcla haya espesado, retírala del fuego y añade el agua de rosas o agua de azahar. Remueve bien para que se distribuya de manera uniforme.
Vierte la mezcla de mahalabia en recipientes individuales o en un bol grande. Deja que se enfríe a temperatura ambiente, y luego refrigera durante al menos 2 horas o hasta que esté completamente frío y cuajado.
Una vez que la mahalabia haya cuajado en la nevera, añade una capa generosa de la mermelada encima de cada porción. Extiende la mermelada de manera uniforme sobre la superficie del pudín.
Vuelve a refrigerar las porciones durante unos 30 minutos adicionales para que la mermelada se asiente.
Antes de servir, decora la mahalabia con pistachos picados y, si lo deseas, con una pizca de canela molida.