This is the correct behavior of geometry type D3DPT_TRIANGLEFAN, suppose you want to split the ellipse to 4 sides, you will need 5 vertex(plus the center of the ellipse v0) as below, so you will get 5 - 2 = 3 triangle fans, that's v0v1v2, v0v2v3, and v0v3v4, but you won't get v0v4v1, Direct3D won't do that for you.
if you want to get the last triangle fan v0v4v1, you need an extra vertex to store v1, something like
vextex[5] = vertex[1]
now you have 6 vertex, so you will get 6 - 2 = 4 triangle fans including v0v4v1.
you need two extra vertex, one for the center of the ellipse, one for the last vertex
int VertexSize = ( Sides * Abundance ) + 2;
Add this line below the for loop, this will add the last vertex in order to draw the last triangle fan.
Vertex[VertexSize -1] = Vertex[1];