This question was first posed to me by a friend of mine; for the subtleties involved, I love this question. :-)
The "flaw" is that you're not counting the dimension carefully. As other answers have pointed out, $\delta$-functions are not valid $\mathcal{L}^2(\mathbb{R})$ functions, so we need to define a kosher function which gives the $\delta$-function as a limiting case. This is essentially done by considering a UV regulator for your wavefunctions in space. Let's solve the simpler "particle in a box" problem, on a lattice. The answer for the harmonic oscillator will conceptually be the same. Also note that solving the problem on a lattice of size $a$ is akin to considering rectangular functions of width $a$ and unit area, as regulated versions of $\delta$-functions.
The UV-cutoff (smallest position resolution) becomes the maximum momentum possible for the particle's wavefunction and the IR-cutoff (roughly max width of wavefunction which will correspond to the size of the box) gives the minimum momentum quantum and hence the difference between levels. Now you can see that the number of states (finite) is the same in position basis and momentum basis. The subtlety is when you take the limit of small lattice spacing. Then the max momentum goes to "infinity" while the position resolution goes to zero -- but the position basis states are still countable!
In the harmonic oscillator case, the spread of the ground state (maximum spread) should correspond to the momentum quantum i.e. the lattice size in momentum space.
The physical intuition
When we consider the set of possible wavefunctions, we need them to be reasonably behaved i.e. only a countable number of discontinuities. In effect, such functions have only a countable number of degrees of freedom (unlike functions which can be very badly behaved). IIRC, this is one of the necessary conditions for a function to be fourier transformable.
ADDENDUM: See @tparker's answer for a nice explanation with a slightly more rigorous treatment justifying why wavefunctions have only countable degrees of freedom.
The standard formulations of QM and QFT are such that the resulting Hilbert space is always separable, namely there exist a finite or infinite countable Hilbert basis (and thus every Hilbert bases are of the same type correspondingly).
Separability is required as an axiom from scratch or it arises as a consequence of more basic axioms. In particular
For elementary non-relativistic systems, all irreducible representations of $X_j$ and $P_k$ CCRs produce separable Hilbert spaces $L^2(\mathbb R^n, d^nx)$ in view of the celebrated Stone-von Neumann theorem. Adding the spin does not alter the result because the space becomes $L^2(\mathbb R^n, d^nx) \otimes \mathbb C^{2s+1}$ which is still separable.
If the elementary system is relativistic and therefore supports an irreducible unitary strongly-continuous representation of Poincaré group,separability arises by the classification of the afore-mentioned representations which works on Hilbert spaces of the form $L^2(\mathbb R^n, d^nk) \otimes \mathbb C^{2s+1}$.
Finite composite systems are obtained by taking a finite tensor product of elementary systems, so that separability is preserved.
In the absence of complicated phenomena as spontaneously broken symmetry (see below), assuming asymptotic completeness, QFT is defined in a Fock space constructed out of separable Hilbert spaces (one particle spaces). These Fock spaces are separable.
In curved spacetime, at least in static spacetimes and using the static vacuum as vacuum of the Fock representation, separability is still guaranteed as the one particle space is still a $L^2$ space over a separable (in measure-theory sense) space.
Non separability may arise in presence of continuous superselection rules if picturing them as a direct sum instead of a cumbersome direct integral of sectors. Think of a non relativistic system admitting a mass operator $M$ whose spectrum $\sigma(M)$ is an interval, say $(a,b)$. The Hilbert space results to be the direct orthogonal sum of an infinitely continuous class of eigenspaces $\cal H_m$ of the mass operator
$$\cal H = \oplus_{m \in \sigma(M)} \cal H_m$$
so that $\cal H$ cannot be separable as it admits an uncountable sequence of pairwise orthogonal subspaces.
Notice that the spectrum of $M$ is a pure point spectrum made of an interval $\sigma(M) = \sigma_p(M) =(a,b)$ in this picture.
Here, if one admits that the system supports a (projecitve unitary) representation of Galileo group, due to Bargmann's superselection rule of the mass, quantum physics is described in each subspace separately (in the standard way ${\cal H}_m = L^3(\mathbb R, d^3x)$ if the system is a particle with mass $m$ and $m$ appears therein as a fixed parameter) and at most incoherent superpositions of states of different subspaces are permitted.
In each such subspace ${\cal H}_m$ vectors are normalizable and all observables $A$ of the theory admit every ${\cal H}_m$ as invariant subspace, since $A$ commutes with $M$.
The fact that the vectors in each ${\cal H}_m$ are normalizable is the basic difference from the direct integral picture where vectors are instead similar to the kets $|x\rangle$ such that $\langle x| x \rangle$ does not make sense. In this representation $\sigma(M)$ is a continuous spectrum but the theory is quite singular in each coherent sector ${\cal H}_m$ which is not a subspace of the overall Hilbert space. As far as I remember a similar situation arises in loop quantum gravity...
Non-separability arises also when some symmetry spontaneously breaks and you consider all possible Hilbert spaces (continuously parametrized) as orthogonal subspaces of an overall Hilbert space.
Non separable Hilbert spaces have the pathology that quantum statistical mechanics cannot be formulated at least in the standard way, since the trace of usual statistical operators describing equilibrium necessarily diverges. This is because the overall Hamiltonian operator (if assuming to have pure point spectrum) admits an uncountable basis of eigenvectors. Though, in each superselection sector no problem arises.
In presence of non separable Hilbert spaces perhaps the algebraic approach seems more suitable. Thermodynamical equilibrium may be described in terms of KMS condition for an algebraic state over a C*-algebra of observables.
Non-separability arises from a very abstract viewpoint when considering all non unitarily equivalent representations of a given C*-algebra of observables, e.g., field operators referring to all possible vacua, in a unique Hilbert space made of all the GNS representations of these vacua.
Addendum. As I realized after a discussion with a colleague (at Les Houches school of physics)
separability of the Hilbert space arises as soon as the system admits (is) an irreducible strongly-continuous unitary representation of a connected Lie group of symmetries.
(If anyone is interested in the proof just ask me.)
This includes both the case of a non-relativistic and relativistic particle mentioned above in particular.
Best Answer
The Hilbert dimension of the Hilbert space of a free particle is countable. To see this, note that
The Hilbert space of a free particle in three dimensions is $L^2(\mathbb{R}^3)$.
An orthonormal basis of a Hilbert space $\mathcal H$ is any subset $B\subseteq \mathcal H$ whose span is dense in $\mathcal H$.
All orthornormal bases of a given non-empty Hilbert space have the same cardinality, and the cardinality of any such basis is called the Hilbert dimension of the space.
The Hilbert space $L^2(\mathbb R^3)$ is separable; it admits a countable, orthonormal basis. Therefore, by the definition of the Hilbert dimension of a Hilbert space, it has countable dimension.
Addendum. 2014-10-19
There is another notion of basis that is usually not being referred to when one discusses Hilbert spaces, namely a Hamel basis (aka algebraic basis). There is a corresponding theorem called the dimension theorem which says that all Hamel bases of a vector space have the same cardinality, and the dimension of the vector space is then defined as the cardinality of any Hamel basis.
One can show that every Hamel basis of an infinite-dimensional Hilbert space is uncountable.
As a result, the dimension (in the sense of Hamel bases) of the free particle Hilbert space is uncountable, but again, this is not usually the sense in which one is using the term dimension in this context, especially in physics.