Yes, that is the only recommendation, so far.
proceed_question() was never only about thread safety, since the updates all happen in the gui thread anyway. So you still need to use it. Think about what happens if the user has the edit metadata dialog open for a book that you are updating in the background, either the users' changes or yours would get obliterated.
Considering that this new api took almost two years to develop, I dont think I will ever do this again

But, if I do, I'll deal with any resulting confusion.
If you wish to check for the new api, just do hasattr(db, 'new_api')