You make two unjustified assertions that half the sequences in certain sets will have an even number of certain digits. Your first assertion about half of the $4^n-2^n$ sequences happens to be true, but the second assertion is false.
I'll say "zero/one" to mean a digit that is zero or one. Half of the sequences with at least one zero/one also have an even number of zeros. Why? Because flipping the last zero/one gives a bijection from {sequences with at least one zero/one and an even number of zeros} to {sequences with at least one zero/one and an odd number of zeros}.
However, amongst sequences with at least one zero/one and an even number of zeros, it is just not true that half of these sequences half an even number of ones. In particular with $n=1$ there is a unique sequence, "1", with at least one zero/one and an even number of zeros, and so all such sequences have an odd number of ones.
Here is one way to correct the argument. If a sequence has an even number of zeros and an even number of ones, it has an even number of zero/ones. So instead of considering sequences with at least one zero/one, consider sequences with a positive even number of zero/ones.
The number of sequences with an even number of zero/ones is $4^n/2$ - this can be proved by considering the possibilities for the last digit. The number of sequences with a positive even number of zero/ones is therefore $4^n/2-2^n$. By the same "flipping" argument as above, half of these sequences, $4^n/4-2^n/2$, have an even number of zeros. Adding the sequences with no zeros or ones we get $4^n/4+2^n/2$.
You started out just fine by counting the following kinds of numbers:
___ ___ ___ ___ ___ ___ ___
6 6 6 1
6 6 6 2
6 6 6 3
6 6 6 4
6 6 6 5
And you’re right that you have to adjust for overcounting. Think of it this way, you’ve counted the numbers in the set $S_1$ of numbers $666????$, $S_2$ of numbers $?666???$, and so on. There are $10,000$ in each set. (Let’s assume ID numbers can begin with the digit $0$.)
Some numbers, however, are in more than one set. There are two kinds of these numbers: the numbers with $4$ or more consecutive sixes and the numbers with two separated groups of consecutive sixes. Let’s use X to mean a non-6 digit and count, beginning with those that have $4$, but not $5$, consecutive sixes.
Numbers of the form $6666X??$ are in $S_1$ and $S_2$.
Numbers of the form $X6666X?$ are in $S_2$ and $S_3$.
Numbers of the form $?X6666X$ are in $S_3$ and $S_4$.
Numbers of the form $??X6666$ are in $S_4$ and $S_5$.
There are 900+810+810+900 of these, and they were counted twice, so we need to subtract $3,420$ from your initial count of $50,000$. Now those with $5$, but not $6$ consecutive sixes. (We haven't considered them in the previous calculation.)
Numbers like $66666X?$, $X66666X$, and $?X66666$. Each was counted three times, and there are $90+81+90=261$ of them. So subtract another $522$.
Next, numbers like $X666666$ and $666666X$ were counted four times, and there are $9+9$ of those, so subtract another $3\cdot18$, and $6666666$ was counted five times, so subtract $4$.
Two separated $666$s occur in numbers like $666X666$ and were counted twice, so subtract $9$.
Summarizing, there are $50,000-3,420-522-54-4-9=45,591$ numbers containing $666$, leaving $9,954,009$ 7-digit numbers (possibly starting with one or more zeros) with no string of three sixes.
The mathematical principle (search and you'll find a general way to solve these problems) is called "inclusion-exclusion." Your initial approach is just what you need to get started with it.
Best Answer
Yes, you are overcounting the number of such strings: for example $0 1 2 3 4 5 6$ is counted three times: as a member of $0 1 2 3 4 X X$, of $X 1 2 3 4 5 X$, and of $X X 2 3 4 5 6$.
As explained by the comments the right tool to use is the inclusion-exclusion principle.
Hint. Let $S(01234)$ be the set of 7-digit sequences which contain a copy of the string $01234$ then, from your scheme, $$|S(01234)|=3\cdot 10\cdot 10=300.$$
By the inclusion-exclusion principle, the number of 7-digit sequences such that contain at least a 5-digit consecutive substring in increasing order is $$\begin{align}&|S(01234)|+|S(12345)|+\dots+|S(56789)|\\&- |S(012345)|-|S(123456)|-\dots-|S(456789)|\end{align}.$$ P.S. In order to apply the inclusion-exclusion principle you should consider the intersections of the sets $S(\cdot)$. Note that $$S(01234)\cap S(12345)=S(012345),\\ S(01234)\cap S(23456)=S(0123456),\\ S(01234)\cap S(34567)=\emptyset,\\ S(01234)\cap S(12345)\cap S(23456)=S(0123456) .$$