Suppose a ring of integers $S$ is an extension of a ring of integers $R$ with $\mathfrak{q}$ a prime ideal in $S$ and $\mathfrak{p}=\mathfrak{q}^c$ in $R$. Is there a straightforward way of showing that $S_\mathfrak{q}$ is flat over $R_\mathfrak{p}$ from first principles? i.e. without just quoting a the theorem such as the one in the title (the proof of which in Bourbaki is somewhat obscure). I am happy that this then shows that $S$ is flat over $R$ which is the result I am actually after.
A later thought (in the bath!): $S$ is f.g. over $R$ and $S-\mathfrak{q}\subset S-\mathfrak{p}$, so $S_\mathfrak{q}$ is f.g. over $R_\mathfrak{p}$. Moreover $S_\mathfrak{q}$ is torsion-free, hence free hence flat. Does this work?
Yes, the structure theorem for f.g. modules over a PID gives a quick resolution: such a module is a direct sum of a free module and a torsion module.
Another method: $M$ is flat iff $\text{Tor}_1^R(M, R/I) = 0$ for every $R$-ideal $I$. If $R$ is a PID, every (nonzero) ideal is principal and generated by a nonzerodivisor, say $I = (a)$. Then using the long exact sequence for
$$0 \to R \xrightarrow{a} R \to R/(a) \to 0$$
to compute $\text{Tor}$, we find that $\text{Tor}_1^R(M, R/(a)) \cong 0 :_M (a) = \{m \in M \mid am = 0\}$, which vanishes iff $a$ is a nonzerodivisor on $M$. Thus torsionfree $\implies$ flat over a PID, even without finite generation.
Also, for future reference: the following implications hold for any module, over any ring:
$$\text{free} \implies \text{projective} \implies \text{locally free} \implies \text{flat} \implies \text{torsionfree}$$