We solved the issue after several hours of formatting the cRIO and reverting to previous code.
What happened was:
We would
1: Download code to the cRIO.
2: Launch the Driver Station and connect.
3: Get connection (the Robot Code, Connection lights etc) would work, and the Driver Station would display: "Teleop Disabled", for like I said, less than 2 seconds, and it would instantly lose communication.
We would then be unable to connect long enough to the cRIO to download new code, meaning we would format the cRIO everytime.
I flipped the Safe Mode switch and the Console Out switch, and used the cRIO imaging tool to format it. After it formatted the cRIO, I would flip the dip switches back to normal, and use the cRIO imaging tool to set the cRIO for C++.
The same problem would persist, even with default code.
Eventually I got it to work, by using the Safe Mode, Console Out, the IP Reset one, and by holding down the reset button.
I was then able to get default code working, and downloaded code that was working from the day before.
So I guess it was my code doing something. However, the only change I made, right before the cRIO started hating me (

) was I added 2 printf statements.
One of the printf was displaying the rate of one of our encoders, because I think the encoder might have died.
Would that have caused the issue? Trying to read data from a broken encoder?
Although I think it is weird that my code would effect the robot before it was enabled...