For characteristic $\not=2,3$ you can always put the curve in short Weierstrass form and choose the point at infinity. I'm not sure about char=$2,3$.
EDIT:
For characteristic 2 or 3 we can put the curve in Weierstrass form, and again the only point at infinity will be $[0:1:0]$, with tangent equal to $Z$, and the tangent will intersect the curve three times in that point, making it a flex.
Let $f(x,y) = x^3+ax+b - y^2$. Then our equation is $f(x,y) = 0$. At a point $(p,q)$ on this curve, the tangent line is:
$\frac{\partial f}{\partial x}(p,q) (x-p) + \frac{\partial f}{\partial y}(p,q) (y-q) = 0$
Parametrize this with $x(t) = p - t\frac{\partial f}{\partial y}(p,q)$ and $y(t) = q + t\frac{\partial f}{\partial x}(p,q)$.
Then we are to show that $g(t) = f(x(t),y(t))$ has a double root at $t = 0$.
This is a polynomial in $t$, and as you've already noted, $g(0) = 0$. Thus if we show $g'(0) = 0$, then we'll know $g$ has a double root at $t = 0$. This is simply the chain rule:
$g'(0) = \frac{\partial f}{\partial x}(p,q)\frac{\partial x}{\partial t}(0) + \frac{\partial f}{\partial y}(p,q) \frac{\partial y}{\partial t}(0) = -\frac{\partial f}{\partial x}(p,q)\frac{\partial f}{\partial y}(p,q) + \frac{\partial f}{\partial y}(p,q) \frac{\partial f}{\partial x}(p,q) = 0$
I noticed you're a high school student. If this is all a bit too high-level, mimic it in your situation and compute $g'(t)$ explicitly instead of using the chain rule. You could also parametrize with $t = x$ as you have in your question, but this is more general so there's no special case when the tangent line is vertical.
Also, if you're not certain why checking $g(0)$ and $g'(0)$ are enough:
Claim: Given a polynomial $g(t)$, we have that $r$ is a root with multiplicity exactly $k$ if and only if $g^{(j)}(r) = 0$ for $0 \leq j < k$ but $g^{(k)}(r) \neq 0$ (i.e. $g$ and its first $k-1$ derivatives vanish at $r$, but the $k$-th doesn't).
Sketch: Factor $g(t) = (t-r)^k h(t)$, where $h(r) \neq 0$. Then if you write out $g^{(j)}(t)$, all terms have a $(t-r)$ factor in them for $j < k$, but for $j = k$, there's one term without a $(t-r)$ factor, which is exactly $h(t)$, which we know doesn't vanish at $r$.
Thus showing $g(0) = 0$ and $g'(0) = 0$ implies that the multiplicity of $g(t)$ at $t = 0$ is at least two.
Even simpler proof that $g(0) = 0$ and $g'(0) = 0$ implies the multiplicity of $g(t)$ at $t = 0$ is at least two:
Now $g(0)$ is the constant term of $g(t)$. Thus since $g(0) = 0$, the constant term must be zero.
Next, $g'(0)$ is the coefficient of the linear term. Thus since $g'(0) = 0$ then in addition the linear term must be zero.
Thus $g(t)$ has no constant or linear term, so we can factor out a $t^2$. That is $t = 0$ is a double root.
Best Answer
I agree with the OP and Bruno Joyal that the statement of this exercise is faulty. As you say, condition (ii) had better hold for any rational point $O$ given that we've defined the group law in such a way to make $O$ the origin. Unfortunately I could not remember what I had in mind when I wrote this, so I uploaded a new copy in which condition (ii) is simply removed. The exercise still seems like a reasonable one: it shows why it is convenient to take the origin to be a rational flex point on the plane cubic...if you have one.
Note that although the Fermat cubic $X^3+Y^3+Z^3 = 0$ has exactly three points over $\mathbb{Q}$, these points do not lie on a single line...nor could they, according to the exercise.
The idea of someone using these notes to learn about elliptic curves made me a little nervous. I went back and added the following paragraph at the very beginning: