Fix another race in multithread, and ge sync

If EVENT_FINISH is received, but coreState is still CORE_RUNNING and the thread is still enabled, it would hang.  Makes more sense to wait for events before processing them anyhow...

Also ge sync was never running because detach wiped the id, of course...

-[Unknown]