falsh locking happens when the delay line is too long or too short, where it goes 1 or more cycles ahead, and still can reach the lock status. don't know how to fix, might need very careful control at the beginning of locking operation, use a counter or something to limit your delayline range.
that's the problem of the conventional circuit..
that's also the very reason why conventional DLL operates only on a very narrow operating frequency range.