Having to re-flash almost every time???

I will flash my SD card, boot up the nano, and set everything up. Sometimes that takes hours, with training my models and everything. Then, if I shut down the nano and restart it, probably one in every 3 times it won’t boot up completely, and I have to reformat and re-flash the SD card. Is this normal???

No, I don’t think so. Are you able to get any error log when it fails to boot up completely?

Also, such power off issue (suddenly shutdown) is more like power issue. What application were you running?

Each time before reboot you might check the root filesystem’s capacity. If the filesystem fills up, then boot could fail. Something like this to test:

df -H /

If the filesystem is full or close to full, then delete files prior to reboot. The same SD card could be placed on a PC to measure capacity as well (the rootfs can mount on a Linux host even if full, whereas boot might fail if full due to need for temp files).

A boot log is nice since it might show issues like filesystem corruption.

The sd card is nowhere close to full. It’s a 32gb sd card and with everything installed it’s only using 16gb. Also, I am shutting down using proper methods, clicking the power icon in the upper right hand corner and then telling nano to shutdown, and waiting for shutdown to complete before I unplug it.

Any log you can get from boot would help. A serial console would allow saving a boot log. See:
https://www.jetsonhacks.com/2019/04/19/jetson-nano-serial-console/