Problem overriding the context
The simplest remedy is to make the script not depend on the 3d cursor at all. The add-on in this case seems to use the 3d cursor somewhat arbitrarily to store the location of the selected object.

# replace these two lines
bpy.ops.view3d.snap_cursor_to_selected() # move 3d-cursor
tinObj.location = bpy.context.scene.cursor_location #position object at 3d-cursor

# with this line
tinObj.location = obj.location.copy()


it will do the triangulation as desired.

&gt;&gt;&gt; bpy.ops.delaunay.triangulation()
0 duplicates points ignored
0 z colinear points excluded
Triangulate 6 points...
4 triangles
Create mesh...
Info: Mesh created (4 triangles)
{'FINISHED'}