Everything Is working fine I added a MEMORY checker to the sketch and there is 800+ bytes ram free.
Since the microcontroller used doesn't have a memory controller, these sketches are estimates at best.
I reduced the occurrence of the problem by adding the following code..
Post the rest of the code.
Why do you keep calling Serial.end() followed immediately by Serial.begin()? That seems completely pointless and creates the very real possibility data is coming in that you are going to miss, resulting in junk eventually.
I am pretty sure its a firmware/arduino problem as :
It's almost definitely a code problem, so post all of your code. There is no "firmware" running on the Arduino after the bootloader jumps to the code vector.
2)The PI is powered from the same Stepdown Voltage regulator as the Arduino, and it does not crash so I think this eliminates the PSU.
The Pi is a completely different system, so I fail to see the connection. Also you haven't verified the Arduino is "crashing." Again, it is probably problem with your code not the hardware.
3) The program continues to run even after the serial port has crashed
The serial port cannot "crash."
I am also going to add a couple of 1000uF caps To the 5V rail to eliminate Power outs.
That's great for low frequency ripple. 1.0uF and 0.1uF will help with high frequency.
Is there a known issue with running the Hardware serial port Continuously @ 57600 ?
No, not at all. Plenty of people do this without any issue.