I've checked and there is no places in my code that destroys the async_load map, as you said I don't have a need to destroy the map. I only destroy a header map after a valid return of a http_get/http_request once the request has returned data.
Now that I think of it... Could it possibly be something to do with the async_load being used by another object while GMLive is trying to check/process something?
It was an issue with the return of the live_async_http_check(). All that I did was just check if the ds_map of (l_e) existed before returning and the error no longer came up with GMLive.
No idea why the map wouldn't exist though considering there was no async_map destroyed.