On 6.12.2, this just worked for me, I think. But now I'm on a new box with 6.12.3 (generic unix binary), and there's obviously some setting I'm missing.
I have a console history in ghci within a single session (i.e. execution of ghci), but this history isn't saved and reloaded between sessions, as it used to be. I can't keep track if ghci is using readline, editline, or haskeline even, so I'm not quite sure where to start in terms of fixing this.