Soak the apricots in the water or wine in a medium saucepan at least 2 hours. Simmer over low heat until the apricots are very soft, about 20 minutes, then puree the apricots with the liquid in a blender or food processor. Return the puree to the saucepan and stir in the butter, sugar (use ¾ cup if using water, ½ cup if using wine), and egg yolks. Heat, stirring constantly, over low heat until smooth and creamy and warm to the touch, 5 to 7 minutes. Do not boil. Let cool slightly.
Preheat the oven to 350°F. Butter a 1-quart soufflé dish or six 6-ounce custard cups. Beat the egg whites until almost stiff but not dry, then fold them into the cooled apricot mixture. Pour into the prepared dish or cups. Place the dish or cups in a large baking pan and add enough hot water to the pan to come halfway up the sides of the dish or cups. Cover the pan with foil and bake until puffed, about 40 minutes. (Or place the covered pan over low heat on top of the stove and steam the puddings in barely simmering water until done, about 35 minutes.) Remove the dish or cups from the water bath. You may serve immediately or let cool to room temperature.
For the garnish, beat the cream, sugar, and orange flower water if using until soft peaks form. Garnish the pudding with whipped cream and sprinkle with chopped pistachios.