I noticed that someone voted this up today. Since this might indicate that someone else is interested in the answer, I thought I'd remark that Oscar Randal-Williams and I worked out a proof of this when I visited him earlier this year. A version of this proof can be found in Section 2.2 of my paper
The Picard group of the moduli space of curves with level structures,
to appear in Duke Math. J.
which is available on my webpage here.
(marked community wiki since it feels weird to get reputation for answering my own question)
I have two comments:
(1). It is a trivial remark, but one should note that representations $\rho, \rho'$ which are in the same component of $Hom(\pi,G)$ (in your case, $G=GL(r, {\mathbb C}))$ yield flat bundles $E_{\rho}, E_{\rho'}$ which are isomorphic as vector bundles. Here and below $\pi=\pi_1(M)$.
Proof. It suffices to work with principal $G$-bundles. Let $\rho_t$ be a path of representations between $\rho, \rho'$. Then $\rho_t$ determines a (flat) principal $G$-bundle $P$ over $M\times [0,1]$, whose restrictions $P_0, P_1$ to $M\times 0, M\times 1$ are isomorphic to the principal $G$-bundles associated with $\rho, \rho'$. I claim that this bundle is just the product $P_0\times I$. Indeed, construct a section of the bundle $Hom(P, P_0\times I)$ starting with the identity on $M\times 0$ and then extend it to the rest of $M\times I$ (path-lifting property for Serre fibrations). QED.
This gives a sufficient, but, of course, far from necessary, condition for an isomorphism of vector bundles. In particular, you get finiteness of the number of isomorphism classes of vector bundles. As a simple example consider the case $r=1$ and $H_1(M)$ torsion-free. Then $Hom(\pi, {\mathbb C}^\times)=
({\mathbb C}^\times)^n$ is connected (here $n=rank(H_1(M))$). In particular, all flat line bundles in this case are trivial.
(2). A far less trivial is the result of Deligne and Sullivan "Fibres vectoriels complexes a groupe structural discret", C. R. Acad. Sci. Paris 281 (1975), 1081-1083. They prove that for every finite cell complex $M$ and every $\rho: \pi=\pi_1(M)\to GL(r, {\mathbb C})$ there exists a finite cover $\tilde{M}\to M$
so that the pull-back of the associated flat bundle $E_\rho$ to $\tilde{M}$ is trivial (as a bundle). Their proof is constructive and (from what I can tell by reading Math Review of their paper since I lost my copy) gives a sufficient condition for triviality of $E_\rho$: Let $A$ denote the subring of ${\mathbb C}$ generated by the matrix entries of $\rho(\pi)$. Suppose that there are two maximal ideals $m_1, m_2$ in $A$ so that:
a. $A/m_i$ have distinct characteristics and
b. $\rho(\pi)$ maps trivially to $GL(r, A/m_i), i=1,2$.
Then $E_\rho$ is trivial as a vector bundle.
From this one can extract a sufficient condition for an isomorphism of bundles $E_\rho, E_{\rho'}$ (by considering the flat bundle $E_\rho^*\otimes E_{\rho'}$).
If I remember correctly, a proof of this theorem by Deligne and Sullivan was redone by Eric
Friedlander, in "Étale homotopy of simplicial schemes". Annals of Mathematics Studies, 104. Princeton University Press, 1982. I cannot tell if it is easier to read than the original.
Best Answer
A flat vector bundle over a topological space is a bundle whose transition functions can be taken to be locally constant; equivalently, over a path-connected space, it's the same data as a principal $G$-bundle ($G = GL_n(\mathbb{R})$ or $GL_n(\mathbb{C})$ as appropriate) where $G$ is given the discrete topology. Over a reasonable space $X$ this is the same thing as a functor from the fundamental groupoid $\Pi_1(X)$ to vector spaces.