TLDR: I don't know of any place it's stated in canon, but I theorize that a program is stopped, and the code damaged upon derez, but it can be fully repaired and restarted ("reincarnated") unless it has been decompiled (the TRON term decompiled).
An interesting situation to consider is the brawl at the End of Line Club in TRON: Legacy. When Quorra has her arm shattered into voxels by one of the Black Guards, she goes into some sort of unconscious state. After retreating to the solar sailer, Kevin Flynn takes her identity disc, removes the "damaged code", locks it on her back, and tells Sam to give her time to reboot.
To me, the word "reboot" suggests that the program Quorra is stopped and restarted, to allow her program to recompile. During this time, her arm reforms.
If you will recall in the original TRON, Clu is tortured on a Decompiler by the MCP, in which the exact opposite happens, where Clu is decompiled and disappears. This is an entry from the article linked above...
When programs derez in TRON, their circuits fade to darkness and they
compress into a flash of light which winks upwards before disappearing
entirely. Sometimes, they are enveloped in a red or yellow glow before
they disappear. If they slowly derez from grievous injuries or from
being decompiled, their circuitry may pulse slowly, dimming until it
fades out, and their data scatters into the surrounding terrain as
they deresolve.
With this wording, it's difficult to tell the difference between derez and decompile, if there is one. After this happens, I believe the camera shows the console of the computer Kevin Flynn has been using to communicate with Clu, and it reads something like "Program detached from system". I don't know if this is an actual computer code or term from the time.
As an aside, in "our world", to compile a program means to turn human readable code into the bits of machine code. Decompiling is the opposite, turning machine code into human readable code. It doesn't actually mean to start or end a program's work cycle. So, this doesn't make much sense as a correlative to the TRON terms, unless stopping and starting is implied, or the sense of decompile, which is to render the program's code unusable to a computer, is what is meant by this term. More on this later.
Yet another interesting note on "our world" computing is Memory Addressing. The bits and bytes of a program are stored and accessed via a Memory Address. When a program is "deleted" from the storage device, it's actually the address to that program that is removed from the list of all stored addresses (Address Register). The data is actually still stored in that location until another program overwrites it with it's own data. Data can also be chained together so that pieces of a program can exist at different physical locations, and when a piece has finished executing, it links to the next piece which is then executed, and so on.
I know that opinions are discouraged here, but I hypothesize that this relates to the TRON universe in that programs are not necessarily permanently removed from the storage device upon derez, that they are stopped and the memory address to their program is blocked or removed.
When Quorra had her arm "derezzed", it shattered into voxels the same as a whole program does when it is derezzed. However, since her identity disc and most of her body remained, her code was able to be edited and the bug or error or whatever it was was removed. If the "code" for her arm had been permanently deleted, there would be nothing to recompile, her program wouldn't have the data to reconstruct her arm. In addition, when a program is derezzed, it's voxels are still persistent (the term used on the Tron Wikia), meaning they still exist after that program's demise. Perhaps this is representative of that data still existing on the storage device, but being scattered and and not being able to be put back together, because of the unlinked memory addresses. As I mentioned earlier, when Clu (the first one) was derezzed, his program was "detached from the system". I'm not sure if this means that the data is not deleted, but simply the addresses are detached or unlinked and the program isn't able to be run, or if I'm thinking about that scene too literally.
A problem with this theory is that I don't know of any instance in the canon where this is explicitly mentioned as the case, or of a program being "reincarnated" as you put it, as would logically be possible. That being said, there is the matter of the Tron program being "transferred" or "copied" to the server in Flynn's Arcade Basement. There is a question here about this, that concludes that there is not a copy of Tron on the old ENCOM server, that it was transferred, whatever this may mean. I, personally, am not satisfied by this answer. On the TRON Wiki, there is an article about the Tron system which states:
Initially Flynn copied the program Tron into the system to assist with
the construction and soon created Clu 2 as a digital copy of himself
to manage the construction while Flynn was away.
This uses the word "copy". I don't see why the Tron Program would be totally removed from the server, just as a backup. The old ENCOM server may have been shut down, but I think the program still would have existed there on the hard drive. If this is true, and this is just speculating, say the old ENCOM server was restarted, there would have been two copies of the Tron Program running, giving evidence to the idea that programs are not "unique" so to speak, that if they are derezzed, and their code is undamaged or repairable, that they would be able to be restarted ("reincarnated") and be brought back to proper function, the same as if an identical copy of them was made, saved to that storage device, and run. In that respect, a program would be able to be reborn, in the same way that we might treat the exact clone of a human with all the same memories as the same person (or would we?)
As far as running out of energy goes, I haven't researched this much, but I think there was an episode from TRON: Uprising, which is considered canon, in which a program was derezzed "bit by bit". In this case, the energy and data was sucked out of the program, and the only thing left was a colorless husk. Here is a quote from the Derez article from the wikia:
Deresolution in TRON: Uprising is much the same as it is in TRON:
Legacy. However, it is also mentioned that programs can be derezzed
"bit by excruciating bit," as opposed to an instantaneous and
comprehensive shatter. This may refer to the decompiler used to suck
both energy and data out of programs, leaving them empty, colorless
husks which shatter into dust instead of voxels.
This sounds to me as if every bit from was erased from it's location on storage, that the trace of there even being a program (voxels) has been obliterated, meaning that the program is totally gone, memory addresses are irrelevant, and the program cannot be restarted or rebooted, unless a copy of it was made prior and then saved back to the storage after derez.
That was pretty long. If you have any questions or clarifications I would love to discuss them. Also, I'm not an authority on any of this, so if anyone would like to correct me on a computing concept or "TRON history" concept, feel free.