Warm the rose water slightly, then stir in the crushed saffron threads. Set aside and allow the saffron to bloom while you prepare the pudding.
In a medium pot, add the cold milk, sugar, and cornstarch. Stir well until the sugar and cornstarch dissolve into the milk and there are no visible clumps.
Place the pot over medium-high heat. Begin stirring constantly with a wooden spoon or whisk.
Continue stirring until the milk mixture comes to a boil and begins to thicken. Do not stop stirring, because the milk can burn at the bottom of the pot.
Stir in the rose water and saffron mixture. The pudding will begin to turn a beautiful golden yellow.
Lower the heat to medium-low and continue stirring for 10 to 15 minutes, until the pudding is smooth, thick, and glossy. Keep stirring and make sure the bottom of the pot does not scorch.
Remove the pot from the heat. Use a ladle to spoon the saffron rose milk pudding into small glass containers, ramekins, cups, or serving bowls.
Allow the pudding to cool slightly, then cover with plastic wrap and refrigerate for at least 3 hours, or until fully chilled and set.
Before serving, top with crushed pistachios and dried rose petals.