Also, when joining too often, the chances of repeated (invalid) nonces increase too. (Though that would also show an error: OTAA shows "Activation DevNonce not valid: already used")
Is the node somehow resetting all the time? Is its power okay?
Is there anything in the “trace” part of the Join Requests in TTN Console?