Chris Rankin:
OK, here's a first draft at a patch. Created with reference to my old copies of Ralph Brown's Interrupt List.
Well, under DOS VGA text mode, mouse cursor is like "gpm" mouse cursor, a character cell which gets inverted or otherwise highlighted in order to show where mouse is currently located at. As far as I know, neither Wine nor Windows supports this and SetConsoleCursorInfo really has no effect on mouse cursor, anyway. So, under text mode, hide/show functions should do nothing.
However, under VGA graphics mode, show/hide cursor really should call ShowCursor. And, if mouse driver is reset, hide count must be reset to one and cursor must be hidden.
I have some more or less untested patch for show/hide somewhere but the last time I tried to get that working I had to fix IRQ handling, again, and after that I was too bored and too busy for doing DOS stuff. Anyway, it will take probably about half a week until I have time for digging out the patch, which I will do if this thing is not fixed before that. I guess I should also dig my other DOS related patches and submit them as well, I don't know if they really help much but at least I would not have pending stuff in my computer.