Or in all-SQL, you could use this. It assumes a drawing called Areas and another called Points.
If you enter a tolerance parameter, then any vertex within that radius of a point will be removed. If you just hit enter then the tolerance is 0, so that a vertex is removed only if it exactly coincides with a point.
PARAMETERS [Tolerance (0)] DOUBLE;
ConvertToArea(AllCoords([T1].[Coord])) AS [Area]
(SELECT [ID], [Geom (I)], [Coord]
SPLIT BY Coords([Geom (I)]) AS [Coord]
) AS [T1]
(SELECT [ID], [Geom (I)] AS [Point]
) AS [T2]
ON Distance([T1].[Coord], [T2].[Point])
<= Coalesce([Tolerance (0)], 0)
WHERE [T2].[ID] IS NULL
GROUP BY [T1].[ID];
SPLIT BY extracts coordinates in their proper sequential order, and if nothing is done to change this, then they will retain the same order even after filtering, so that they can be joined back together again into an area. (This isn't a guarantee provided by SQL itself, but the way Manifold is designed to behave.) The new area will still be coherent—unless the vertices selected for removal were crucial to the shape of the metric.
Remove coincident vertices.txt