If we allow arbitrary co-linearity, $\frac{(n-2)(n-1)}{2}$ is the maximum: simply put $n-1$ points on a side, and $1$ on the outside, and count the formed triangles.
When no $3$ points are collinear, $3n-8$ is the optimal answer.
It can be proved by induction. Denote $T(n)$ to be the maximum number of triangles obtained in a triangulation of $n$ points. Your example shows $T(4) = 4$ , $T(6)= 10$. For ease of computation, consider $m$ points inside a convex-hull triangle formed by 3 additional points. Denote $S(m)$ to be the maximum number of triangles formed in triangulating those $m+3$ points, In other words, $S(m)=T(m+3)$. We shall be maximising $S(m)$.
We call a triangle 'minimal' , if it contains no points inside. We shall count the number of minimal triangles. Consider a polyhedron of only triangular faces. Each face has $3$ edges, and each edge appears on $2$ faces. So we have $\frac{3}{2}F$ = $E$, where $F$ is the number of faces, $E$ the number of edges. The formula for the Euler characteristic, says $F+V - E = 2$, where $V$ is the number of vertices/points in our polyhedron. So we have $V - \frac{1}{2}F=2$, or $F=2V-4$. That is, a (convex) polyhedron with $V$ vertices and only triangular faces will have $2V-4$ faces.
How does that tie in to our triangulation? By removing a face of our polihedron, and "streching" its edges, and then projecting onto a plane, they become the edges of the convex hull. The minimal triangles in our triangulation corespond to the other faces of our polyhedron. So a triangulation of $V$ points will have exactly $2V-4-1 = 2V-5$ minimal triangles, regardless of our mode of triangulation. (note that both your second and third examples have $2*6-5=7$ minimal triangles). This also forms the "worst-case" scenario. No triangulation will have less than $2n-5 + 1$ total triangles. The worst-case scenario is achieved when the only non-minimal triangle is the convex-hull.
We need to organize our triangles:
Lemma: of any two triangles, either one will be included in the other, or the two will have disjoint interiors:
Proof: the only alternative is that the boundaries of the triangles intersect in a denoted vertex/point. That leads to the existence of collinear points, contradicting our hypothesis.
Therefore, our triangles can be organized into a tree, with a triangle $A$ being a child of a triangle $B$ if and only if $A\subset B$, and there exists no intermediate triangle $C$ such that $A\subset C \subset B$.
The root of our tree is the largest triangle, the convex hull. The total number of triangles of a particular triangulation is the number of nodes in its tree. We associate to the root of a tree a number $m=n-3$, denoting the number of points contained in the interior of the root-triangle.
We study the properties of our tree: the leaves of our tree correspond to minimal triangles. Our tree has $2n-5 = 2(m+3)-5 = 2m+1$ leaves. If it has the maximum number of nodes $T(m)$ for a given $m$ associated with its root, then the same property holds for all its sub-trees. (if the tree is optimized, so are its children). Additionally, any node is either a leaf or has at least $3$ children. (if a triangle is not minimal, there are at least $3$ children sub-triangles, those associated with its edges.) . Any node that is not a leaf has an odd number of children (if we eliminate all vertices at deeper levels such that the children become leaves, we are left with $k$ vertices and $2k+1$ children)
Assume we've proved inductively up to $m< k$ that a tree with $m$ associated at its root has a maximum of $3m+1$ nodes. (that is, a triangulation with $m+3$ points has a maximum of $3m+1$ triangles).
Set $m=k$. Let the tree have $2p+1$ children. $S(m)$ stands both for the maximum number of triangles of $m+3$ points, and for the maximum number of nodes of a tree with $m$ associated to its root.
$S(k) = 1 + S(n_{1})+S(n_{2})+...+S(n_{2p+1})$, where $(n_{1}+n_{2}+...n_{2p+1})=k-p$,
$1$ is for the top-node, $S(n_{y})$ the number of nodes in the $y$'th child.
$p$ points/vertices were used to construct the top-level split of the hull in $2p+1$ triangles, and the rest of the $k-p$ vertices are to be found in the interior of those triangles.
Since there are at least $3$ children, we have $p\geq1$, $(n_{1}+n_{2}+...n_{2p+1})\leq k-1$. This gives $n_{y}\leq k-1 ,\forall y$.
We've proved inductively that $S(m) = 3m+1$ for $m<k$ . This gives:
$S(k) =1 + (3n_{1}+1)+(3n_{2}+1)+...+(3n_{2p+1}+1) =$
$= 1 + 3(n_{1}+n_{2}+...n_{2p+1}) + 2p + 1 =$
$=3(k-p) + 2p + 2 = $
$=3k + 2 -p$.
This maximizes when $p$ is minimized. This gives $p=1$ and a splitting of the convex hull-triangle into exactly $2p+1 = 3$ children.
$S(k)=3k+1$, completing the inductive proof.
Substitute $k=n-3$, and we get $3n-8$ triangles for $n$ vertices.
The optimum is $3n-8$, obtained when every triangle is either empty, or splits into exactly $3$- children triangles. At your $(b)$ example, $ABC$ splits into $7$ children, so it's suboptimal. At your $(c)$ example:
$ABC$ split into $ABD,BCD,CAD$,
$CAD$ splits into $CAE,AED,DEC$,
$ABD$ splits into $ABF,BDF,DAF$,
$BCD$ is empty/minimal.
Thus, the $(c)$ example is optimal whilst the $(b)$ one is not.