Were the options available via ANSI.SYS a mix of a subset of the standard ones and a few non-standard? If I'm remembering rightly there, this may be a more accurate description if it targets that exact set of control sequences rather than any other.
ANSI.SYS was a subset of maybe the most advanced terminals, but it was more or less complete in terms of cursor positioning and character attributes so you could implement a (unix)curses style spreadsheet or something, but it would be much slower and less capable than capturing the keyboard and shoving characters directly into screen memory so there was not much software written to use ANSI via CON: (standard in/out).
The bigger problem was that very few users would have had ANSI.SYS loaded and that's out of the already small pool of users who knew that device driver could be loaded (in a hidden system file, CONFIG.SYS) or what garbled escape sequences would look like. Memory was precious, ANSI.SYS used some. In a certain sense, writing directly to screen memory was much more portable.
my brain is itching now, there was something missing from ANSI.SYS... can't quite remember, maybe it couldn't remember a cursor position and jump back to it--it couldn't read the cursor position... it's hazy, something like, as a result, to use it you had to clear the screen of what had been up before and use it in full screen mode with some redraws every now and then
I definitely remember there being a significant something missing. It may have been the cursor control thing from your memory that caused full redraws to be needed more than otherwise.
> The bigger problem was that very few users would have had ANSI.SYS loaded
This is true. I had it loaded on a couple of my configs, but not my primary one.