Heine Borel Theorem was discovered much later than other forms of completeness of real number system and it is a very powerful and non-intuitive result about closed intervals. Therefore it is reasonable to expect that it does not have an obvious or trivial proof.
Your approach fails primarily because it is not guaranteed that the numbers $a,r_{1}, r_{2}, \ldots, r_{n}$ add up to something more than $b$. Moreover this kind of result fails for open intervals. Let $I = (0, 1)$ and let $I_{x} = (x/2, 3x/2)$ so that $ x\in I_{x}$ and the set of all intervals $I_{x}$ where $x \in (0, 1)$ forms an open cover for $I$. Clearly if we take any finite number of intervals $I_{x}$, say $I_{x_{1}}, I_{x_{2}}, \ldots, I_{x_{n}}$ and we reorder these intervals so that $x_{1}$ is the least among $x_{i}$'s then clearly these finite number of intervals don't cover any point lying in $(0, x_{1}/2) \subseteq I = (0, 1)$.
Finding proofs for Heine Borel is not too difficult. As I mentioned it is equivalent to the completeness property of real numbers, we can just pick any property and try to derive Heine Borel Theorem.
Easiest approach is via Dedekind's theorem or via supremum principle. I give an approach based on Bolzano Weierstrass Theorem.
There is a two step process involved. First we reduce any cover to a countable subcover and then reduce countable cover to a finite subcover. The first step holds for any set of real numbers and is known as:
Lindelof Covering Theorem: If $A$ is a set of real numbers and $\mathcal{C}$ is a collection of open sets $S$ such that for each $x \in A$ there is an $S \in \mathcal{C}$ such that $x \in S$, then there is a countable collection of sets $\mathcal{D} = \{S_{1}, S_{2}, \ldots\}\subseteq \mathcal{C}$ such that each point $x \in A$ lies in some $S_{k}$.
The idea is to start with the countable collection $\mathcal{B} = \{B_{1}, B_{2}\,\ldots\}$ where $B_{k}$ is an interval of type $(c - h, c + h)$ where $c, h$ are rational and $h$ is positive. By the countability of rationals it is clear that $\mathcal{B}$ is countable.
Now let $x \in A$ so that there is an open set $S \in \mathcal{C}$ such that $x \in S$. Now $S$ is open so there is a neighborhood $I$ of $x$ with $I \subseteq S$. It is possible to choose this $I$ of the form $B_{k}$ (why??). Hence for each $x \in A$ there is a $B_{k}\in \mathcal{B}$ such that $x \in B_{k}\subseteq S \in \mathcal{C}$. Now we can see that $A$ is covered by a countable number of $B_{k}$ and we can choose corresponding sets $S$ from $\mathcal{C}$ to form a countable subcover for $A$.
Now let $A = [a, b]$ and by previous argument if $\mathcal{C}$ is an open cover for $A$ then there is a countable sub-cover for $A$. Let $S_{1}, S_{2}, \ldots $ from $\mathcal{C}$ cover $A$.
Assume on the contrary that no finite number of $S_{i}$ covers $A$. Thus we have a sequence $x_{n}$ of points (and we can choose them to be distinct) such that $x_{n} \notin \bigcup_{i = 1}^{n}S_{i}$. These points $x_{n}$ form an infinite set and they lie in $[a, b]$ so by Bolzano Weierstrass theorem they have an accumulation point $c \in [a, b]$. Clearly $c$ lies in some $S_{k}$. But then since $c$ is an accumulation point and $S_{k}$ is open there is a point $x_{n}$ with $n > k$ such that $x_{n} \in S_{k} \subseteq \bigcup_{i = 1}^{n}S_{i}$. This is the contradiction we need to prove that a finite number of $S_{i}$ cover $A = [a, b]$.
The above proof clearly demonstrates why Heine Borel Theorem does not hold if the set is not "closed and bounded". Clearly if the set is unbounded the Bolzano Weierstrass can't be applied to guarantee the accumulation point $c$ of $x_{i}$'s. If it is not closed then we can't guarantee that $c$ lies in the set being considered.