If the argument below is hard to follow, you might get more out of this visual presentation of the proof.
I assume that “convex" really means “strictly convex”, so that one vertex can't be between two others. Call the vertices [math]P_i[/math] in counter-clockwise order. For each [math]i[/math], let the “side vector" [math]v_i[/math] be defined by [math]v_i=P_{i+1}-P_i[/math]. This is a vector between two consecutive vertices of the polygon. For each [math]i[/math], let [math]w_i=v_{i+1}+v_i=P_{i+2}-P_i[/math], the vector between alternate vertices (corresponding to a particular kind of diagonal of the polygon--specifically, the kind in your proof about the regular case). By strict convexity, consecutive side vectors are not parallel, so their sum is strictly between them by the parallelogram rule for vector addition. (I think of all these vectors as being rooted at the origin, if that helps.) That is, if we plot all [math]v_i[/math] and all [math]w_i[/math] together, we find that the two sets alternate with each other around the origin and that no [math]v_i[/math] forms a zero angle with any [math]w_j[/math]. Therefore, any given [math]w_i[/math] can be collinear with at most one [math]v_j[/math], and this happens when the angle between them is [math]\pi[/math].
Now consider [math]w_1[/math]. If it is not collinear with any [math]v_i[/math], then it corresponds to diagonal that isn't parallel to any side, and we are done. However, if [math]w_1[/math] is collinear with some [math]v_i[/math], then their common line separates the remaining (odd number of) side vectors, with more of these falling on one side of the line than the other (by virtue of oddness). The number of vectors [math]v_j[/math] on one side of the line is the same as the number of vectors [math]w_j[/math] on that side of the line, so it follows that the number of vectors [math]w_j[/math] on one side exceeds the number of vectors [math]v_j[/math] on the other. Thus, at least one of the [math]w_j[/math] is unmatched by a collinear [math]v_j[/math] in the opposite direction. This [math]w_j[/math] corresponds to a diagonal that is not parallel to any side of the polygon.