Thanks for your kind attention. I did find both your solutions very illuminating. I have just recently become aware of the 3.2 lite, but have hesitated to use it yet, as I am currently using v3.0. I suppose future posts will have to mention that as well.
Its a pity, theres no approved forum for contributing fixes to the ColdfireLite/M5223x.
Marc V, if you could please open one for your release on your site it would be tremendously helpful.
For those interested in the solution to this, as of now I did isolate the problem to a memory statistic issue in the implementation of npfree() in the Memio.c/Misclib module.
Apparently the MEMBLOCKSIZE which is the sizeof the memory header struct mem_block (12bytes in mine, due to various DEBUG defines being switched on) for allocated blocks; gets deducted from the mh_totfree statistic whenever the heap gets fragmented into memory list chains.
mh_totfree -= MEMBLOCKSIZE; /* we didn't get a header back */
The reverse is obviously not happening when the heap gets de-fragmented into a single memory block when a memory free operation takes place.