Why does the uC only runs this code one time. It does not loops it:
Are you stating that because the status led is always on?

If this is the case, take note that you turn off the status led only in the subroutine CHECK_DATA and there is no gosub to this sub in your code.

Cheers

Al.