IsActive == 0 means there is no request is outstanding. At this moment you can submit your next new request, and then call the SetActive() to notify the Active Scheduler/system framework that there is a new request is outstanding.
Well, then the service will take quite a long time (several seconds). If you issue the next request before the previous request is served, it may generate errors. If your requests don't need to wait for the previous request finished, I think your application does not need to use CActive.