Heat the milk, butter, sugar, vanilla, and salt in a medium saucepan over medium heat until just boiling. Gradually whisk in the semolina and cook, stirring constantly, until slightly thickened but still pourable, about 2 minutes. Remove from heat and stir in the orange blossom water. Quickly pour into an 8-inch/20 cm square baking dish greased with butter-flavored oil spray. Smooth the surface and refrigerate for 1 hour to set. Work quickly while the semolina is hot, as it thickens fast.
Whip the cream and pudding mix together in a chilled bowl until stiff peaks form. Spread evenly over the chilled semolina layer, smoothing the top. Refrigerate for at least 3 hours to set completely.
Combine sugar, water, lemon zest, and lemon juice in a small saucepan. Bring to a gentle boil and simmer for 6–8 minutes, stirring occasionally, until slightly thickened. Remove from heat, stir in the orange blossom water, and let cool. Cut the dessert into squares, sprinkle with pistachios, and spoon about 1 teaspoon of syrup over each piece. Serve immediately.