I got some questions about proper usage of NonBlocking query mode

1. Which event shoud I use to do things that should be done after all data is "ready" (Executing = false?)
For example calling GotoBookmark / Locate
What is the best way to wait for query to execute / fetch all data?
2. [this problem does not exist since 9.7.25 fix] Similar problem
I'd like to
- remember last active record
- refresh dataset (with NonBlocking mode)
- restore same active record as before
Should I use GotoBookmark / Locate or there is some more clever way?
What is the proper way of use GotoBookmark / Locate in NonBlocking mode?
Or are there any restrictions to follow in NonBlocking mode?
Regards
P.C.