The classical proof via differential geometry (which I might not have time to enter all of as I'm waiting for my flight; if not, I'll finish it when I get home) goes like this:  

Suppose that the surface in $\mathbb{R}^3$ is smooth and parametrize it locally in the form $X(s,t)$ where the two rulings are defined by holding either $s$ or $t$ constant.  Then the two tangent vector fields $X_s$ and $X_t$ are linearly independent and are the tangents to the two rulings.  Since $X_{ss}$ is the acceleration of the $t$-ruling, it follows that $X_{ss} = f X_s$ for some function $f$.  Similarly $X_{tt} = g X_t$ for some function $g$.  Moreover, since the surface is not a plane, it follows that $X_{st}$ cannot be a linear combination of $X_s$ and $X_t$ (otherwise, the plane spanned by $X_s$ and $X_t$ would be fixed). This means that $X_s$, $X_t$, $X_{st}$ is a basis of $\mathbb{R}^3$, and, as such, we have equations of the form
$$
\begin{pmatrix} dX_s& dX_t & dX_{st}
\end{pmatrix}
= \begin{pmatrix} X_s& X_t & X_{st}
\end{pmatrix}
\begin{pmatrix} f\ ds& 0 & f_t\ ds\\\\
0 & g\ dt & g_s\ dt\\\\
dt & ds & f\ ds + g\ dt
\end{pmatrix}
$$
(The equations for $dX_{st}$ follow since $(X_{st})_s = (f X_s)_t = f_t\ X_s + f\ X_{st}$, etc.)  By comparing partials, or by using the structure equations above, one sees that $d(f\ ds + g\ dt) = 0$, so that there must exist a function $h$ such that $f = h_s$ and $g = h_t$.
The equation now becomes
$$
\begin{pmatrix} dX_s& dX_t & dX_{st}
\end{pmatrix}
= \begin{pmatrix} X_s& X_t & X_{st}
\end{pmatrix}
\begin{pmatrix} h_s\ ds& 0 & h_{st}\ ds\\\\
0 & h_t\ dt & h_{st}\ dt\\\\
dt & ds & h_s\ ds + h_t\ dt
\end{pmatrix}
$$
Moreover, the structure equations now imply that $d(e^hh_{st})=0$, so $h_{st} = ce^{-h}$ for some constant $c$.

(OOPS! Got to go for my flight!  I'll finish this tonight when I get home.)