This might be a way to circumvent the problem of long-term off-line:
If I check in lc_error for connection errors, and if there is a connection error, then call lc_Allow.
At some stage the user will be on-line again (even after three months, e.g.), at which time the check will be executed properly.
Any pitfalls with this reasoning?