I've been using async to save data for several months without any issue like this:
https://killtube.org/showthread.php?...ll=1#post21145

So you are saying to block all future calls before the results are returned and add a time out as a failsafe. Can you please give me an example on how it is done? Also should it be added to the save function?
I found this code from here: https://killtube.org/showthread.php?...ull=1#post9662
Code:
some_function()
{
	args = [];
	args[0] = self;
	add_async_query("SELECT * FROM table ORDER BY foo LIMIT 1000", ::bar, args);
}

bar(result, args)
{
	player = args[0];
	if(!isdefined(player))
	{
		if(isdefined(result))
			mysql_free_result(result);
		return;
	}
	if(isdefined(result))
	{
		rowcount = mysql_num_rows(result);
		for(i = 0; i < rowcount; i++)
			player iprintln(mysql_fetch_row(result)[0]);
		mysql_free_result(result);
	}
}
Will it work in my case if i put the appropriate query in place?