I think you're mixing 2 things. This is a complete rewrite of an old key-value store (hence the 2 in the name) but comdb2 was always SQL. Comdb2 shares a few things with comdb, but they're really just to make migration easier (the preference for tags in csc2 files instead of usual DDL, and then a tag based API that it looks like we got rid of for this release). Under the covers comdb2 is completely different and as far as I know shares no code with comdb.
Yep. With a false start or two along the way. One of the most interesting things on this project was repeatedly changing engines while the plane was in the air.
We've had databases literally up for 10+ years, through 5-6 major version upgrades. There's been one file format change that required downtime very early on.