Actually AllocAbs should never be used and instead of AllocMem/FreeMem you should use AllocVec/FreeVec.
If properly implemented, the C memory functions should use memory pools and thus are preferable over the system functions. You need AllocVec only if you want to allocate memory with specific attributes. Or if you want to implement a C runtime library

IIRC the addresses returned by AllocMem and AllocVec are always aligned to 64 byte boundaries. This does not necessarily apply to malloc & Co.