To be honest, I can't really help you with all this! Currently I also struggling with serious AI (botlib) problems.
So, just a few thoughts:
What I wonder is how the new memory system affects mint-iortcw (AAS Routing)? Maybe I do understand everything wrong, but doesn't 'trap_HeapMalloc' replace' 'trap_Alloc', which in turn replaced 'GetClearedMemory' as a similiar function?
Does this mean that the routing table (be_aas_routetable.c) will also move into game? Or is this a completely different story? I think the routing table is also using 'AAS_RT_GetClearedMemory'!
Well, I assume you know some reasons why it was better to move lot of botlib code into game. For low-skilled programmers like me it's nearly impossible to understand your code changes. Sometimes I wish the moved AI code back into botlib! But this is only due to lack of skill on my side..., so, I bet you will find a good solution!
Could this freeing of memory also be used to fix the old idtech3 bug where a crash happens if lot of bots/models are removed and another bunch of new bots/models are added afterwards? I think you know what bug I'm talking about (we talked about that bug a long time ago).
You know, if you have many different player models and remove them (e.g.: by a kickall command) and load another bunch of bots with different models the game will crash because assets (skins/textures/sounds) aren't removed from memory.
Will using 'trap_HeapFree' fix this idtech3 bug?