I apologize that I haven't been checking this mailing list for a while.
for your question - I would kill any iso2mesh command if it runs for over 10-20 min. In nearly all cases I use iso2mesh, the output should be returned rather quickly if everything is done correctly.
for the used commands, I want to mention two things
1. stl files duplicate nodes for every triangle, therefore, when you read nodes from stlread, you may likely have many duplicated nodes in the perv output, and cause cgals2m failing in the following step.
you must call meshcheckrepair(perv, perf, 'dup') to remove duplicated nodes and triangles first before further processing
2. please try s2m() or surf2mesh instead of cgals2m. tetgen has been working reliably as long as the input mesh is a valid manifold.