I think maybe after a lock is finished you should have to wait 30 seconds before it can be locked again. That way someone can/has to go back and defend it for a little while and the other team still has a chance to win it back.
30 seconds is too short. It's not hard to defend a flag for 30 seconds if your team knows what you are doing. 30 seconds is barely enough to walk from the base to the flag, and then convert the flag. Currently there is absolutely no visual information to the other team for how long a flag is remained to be locked, and when it is unlocked.
I'd say flags have topological links, that you can only commit locks on a flag that is a higher hierarchy, e.g. flags at your base; not ones with a lower hierarchy, e.g. ones at central strategic point. A visual indication of a number representing flag level is shown. 0 being the lowest and not lockable, usually placed at front lines. Once the opposite team captures that flag, then subsquent flags all have their 'level' decreased by 1. Now you can no longer lock a flag of higher hierarchy (e.g. in your base), until you recapture the flag at the centre. If a team did not lock the flag at their base, they are capturable no matter what status the central flag is in for example.
Now this way there's no hardship of flag locking, as it is by mean only protects suprise raids against your flag(s) at home, for example (higher hierarchy), and you can't lock a flag that is exposed (lower hierarchy). By capturing that flag, you have access to the enemy higer hierarchy flag(s) since they can't lock it anymore.
Of course flags need visual indications of whether they are locked to the enemy team, so that when an enemy sneaks into your base, they know whether your higher hierarchy flag(s) is/are locked. Balance is made to the cost of the flag locks so that it's not impossible to lock most flags, but highly undesirable.