I don't have "Baby Rudin" handy at the moment, but if $\bigcap_{n=1}^\infty K_n$ were to contains two distinct points, $x, y$, then $\mathrm{diam} ( \bigcap_{n=1}^\infty K_n ) \geq d (x,y) > 0$. As $\bigcap_{n=1}^\infty K_n \subseteq K_n$ for all $n$, it would follow that $\mathrm{diam} (K_n) \geq d(x,y)$ for all $n$, contradicting that $\mathrm{diam} (K_n) \rightarrow 0$.
No, your proof is flawed.
Your last line
So, for some $n \in \mathbb{N},$ $\nexists p,q \in K_n$ such that $d(p,q) \geq x$
was asserted without justification.
The easiest indication that your argument doesn't go through is the fact that you never used compactness.
Here's a direct proof . . .
Since $\text{diam}\;K_n\ge x$, and each $K_n$ is compact, we can choose $p_n,q_n\in K_n$ such that $d(p_n,q_n) \ge x$.
Since $K_1\supseteq K_n$ for all $n$, it follows that the sequences $(p_n)$ and $(q_n)$ are sequences in $K_1$.
Hence, since $K_1$ is compact, each of the sequences $(p_n),(q_n)$ has at least one limit point in $K_1$.
Let $u,v\in K_1$ be limit points of $(p_n),(q_n)$, respectively.
By continuity of the distance function, we have $d(u,v)\ge x$.
If we can show $u,v\in K$, we're done.
Fix a positive integer $m$.
Since $u$ is a limit point of the sequence $(p_n)$, it follows that $u$ is also a limit point of the subsequence
$$p_m,p_{m+1},p_{m+2},...$$
all terms of which are in $K_m$.
Hence, since $K_m$ is compact, it follows that $u\in K_m$.
Since the positive integer $m$ was arbitrary, it follows that $u\in K_m$ for all positive integers $m$, hence $u\in K$.
By analogous reasoning, we get $v\in K$.
Therefore $\text{diam}\;K\ge x$, as was to be shown.
Best Answer
Look at the Definition 3.9. in Baby Rudin; diameter is defined only for non-empty subspace of metric space. So here $K_n$ is implicitly assumed to be non-empty as we deal with $\text{diam}(K_n)$.