Type 1 triangles are valid in the context of rendering. Yes, they are zero-area - but that's OK because they are also guaranteed to never be hit by a ray. What they do is preserve topology.
However, when you have a zero-length edge (A and C at the same position) - aka a degenerate triangle - that is invalid and should be removed.
The reason you really want zero-area, non-degenerate triangles is for this case:
The triangle ABC has zero-area - BUT is critical to retaining a continuous surface. If you remove ABC, what happens is you get tiny cracks in the rendering because computers use a finite precision floating point representation - cracks in your render are entirely unavoidable without these 'stitching triangles'.
Anyway, best of luck with your solution.