CSS is CSS: if an ebook format uses HTML/CSS, then that part should be the same regardless of the ebook format itself. Of course, not every ebook format will necessarily use HTML or CSS.
Yes, a WYSIWYG editor which is actively maintained (in order to support any new formats that come out) will make your life very easy, if it supports everything you need. You've implied that Scrivener isn't giving you the flexibility to format your lists the way you want, so using it isn't helpful in that regard. Using a markup language and a program to generate different output formats from it (like the one I mentioned in the other question) potentially has all the exact same problems. If it's not maintained, new formats will be inaccessible, and the markup language may not be flexible enough to do everything you want to.
So here's what I do: Generate your output using your preferred method (markup language and converter program, or WYSIWYG editor), and then manually tweak your output for any "picky" things that you couldn't achieve with your editor or markup language. This is the point where I start manually editing HTML and CSS: my program generates the bulk of it from the markup, but I can then unpack the EPUB (for instance) and edit the files directly to get them exactly the way I want.
For iterative development, I use
patch. It's a little tricky, and I've ended up using
scons to create a whole build system for it, but the basic idea is: you generate your output, create a copy of it, edit the copy, then create a patch file by diffing the original and your modified. After you edit your story some more and want to generate the output again, and can apply your previous patch file again, instead of manually applying each change again.
It's by no means a simple solution, but there's generally a trade off between how much flexibility to want to be able to have, and how easy it will be to do.