I am creating the content for a manufacturer in AC 21. So there may be some differences.
However, i found the answer the typical way: by looking at a Graphisoft circular skylight (it was 1 am when i posted this and i was lazy and dopey).
There is a standard boolean parameter that allows you to do a custom hole in the roof: AC_Custom_3D_Hole
Once I added this parameter and set the rules for when it is on or off then my wallhole & wallniche scripts worked.
it is actually nice to be able to use the auto roof cut function with the top edge angles and so on. But it is also nice to be able to override it. Great work again from Graphisoft, they really do think of everything.
I will now have to test the objects in AC 22 and AC 23 to make sure this method still works.