Hello BP,
Since the COP is enabled out of reset, it might be possible for the COP to be the cause of your problem, if timeout occurs prior to it being disabled. Before running the init_System() function, the global variables will normally be initialised. The time required will depend on the number of bytes to be initialized, and with large arrays for the buffers, it may be possible that the COP timeout period is being exceeded (unless the initialisation code also services the COP timer - I don't know whether it does).
You might try with automatic variable initialisation disabled, to see if it makes a difference. How do you know precisely where, in the code, the reset occurs? Presumably the reset continuously repeats - what is the period between resets?
Regards,
Mac