If the wavefunction can be written as a product of a time-only and a time-independent(say position dependent) component, then every position will evolve the same way which is how energy eigenstates work.
You seem to prove for an arbitrary basis that it is an energy eigenstate basis, but only because of a mistake, I think.
You seem to have confused the abstract vector with the vector components. If you have abstract vectors $|\Psi\rangle $ , $|\Phi\rangle $ you can take the "abstract" inner product which is $\langle \Psi | \Phi \rangle$, but if you want to calculate with these vectors usefully it is useful to express them in a basis (e.g. the eigenvector basis of $\hat{Q}$). This is exactly analogous to regular vectors in 2D space. Now if you want to do any calculation on these vector you have to express them in the same basis!
You calculate the n vector components of abstract vector $|\Psi(t)\rangle \ $ which are $r_n(t)$ this is correct. In other words you expressed it in $\hat{Q}$ eigenvector basis. Now if you want to express $| \Psi(t) \rangle$ in position eigenstate basis (also known as position space), the rule is the same you take the inner product of the vector or its components with all the position eigenstates $|\psi^{[x]} \rangle$. You can do it with the abstract vector and you get $\displaystyle\sum_{x} |\psi^{[x]} \rangle \langle\psi^{[x]} | \Psi(t) \rangle$ or you can take the inner product using its known components in the $\hat{Q}$ eigenvector basis, but careful, in this case you have to express the position eigenfunctions in the $\hat{Q}$ basis too! While the position eigenvectors are simple Dirac delta functions in the position basis(any basis is just a bunch of deltas expressed in its on basis), in general the position basisvectors depend on space and time when expressed in any other basis. (as you probably know the position eigenvectors are Dirac deltas in their own basis and infinite waves in the momentum basis and vica-versa).
So you have to express your position eigenvectors(you have one fore each x) in in $\hat{Q}$ first:
$$|\psi^{[x]}\rangle \ = \ \displaystyle\sum_{n} |q_n\rangle \langle q_n |\psi^{[x]}\rangle \ = \ \displaystyle\sum_{n} {\psi^{[x]}}_n|q_n\rangle$$
Then express in position basis (using Q-based components of the vectors) $$\Psi(x,t):=r^{[x]}(t) = \displaystyle\sum_{n} r_n(t){\psi^{[x]}}_n(t) $$
Now $r^{[x]}$(t) is just a complex number corresponding to every position eigenvector at every time t so we could rename it as just $\Psi(x,t)$ which is what we were looking for.
summary:
- When you calculate vectors you have to be in the same basis or no base at all.
- Position eigenvectors are time independent only in position eigenbase.
Update: Expressing a state vector in position basis
The wrong way to think about it is this: A state vector is like a little arrow and you can take the its inner product with the position basis vector and you get its x component.
But this is not what state vectors are. State vectors(or wavefunctions if expressed in position basis) can generally have a distinct value at every possible x position. A wave function $\Psi(x,t)$ of a single particle for example can be $1/\sqrt(2)$ at x=13 and x=19+$\pi$ and zero everywhere else. This is still just one state vector/wavefunction. Think of the state vector as a "vector" that has a unique value at every single x position. To describe it fully you need not just one x coordinate but one value(amplitude) for every possible x coordinates. (So just a particle in one dimension is an infinite dimensional state vector.).
To write the state vector in position basis you can't just ask what is the length in the x direction. You have to ask what is the amplitude at x=-1 , x=3, x=$\pi$ all of those. How do you do it? Simple! We have a basis vector for each of those $|\psi_{-1}\rangle $, $|\psi_3\rangle $, $|\psi_\pi \rangle $
etc. You take the value inner product with each of the infinite set of position basis vectors.
e.g.:
$$|\Psi \rangle = \displaystyle\sum_x |\psi_x\rangle \langle \psi_x | \Psi \rangle = \displaystyle\sum_x \Psi_x |\psi_x\rangle = \displaystyle\sum_x \Psi(x) |\psi_x\rangle $$
where $\Psi(x)$ is the amplitude(value) of $|\Psi\rangle $ statevectors at x.