Try to specify swMacroFeatureAlwaysAtEnd option in FeatureManager::InsertMacroFeature3 method so SOLIDWORKS will move your feature to the end automatically.
That may work for some, but that really messes up when you are working with a sheet metal part. It seems to try to put the macrofeature after the flatpattern feature, and turns on the lower level flat pattern feature and turns on bounding box sketches.
I didn't realize "automatically update cutlist" was an option for the bodyfolder/cutlistfolder, which always generates cutlist items. So for my problem the best solution is to turn on the automatic update or to force update the cutlist.
Dim SwModel as SldWorks.ModelDoc2
Dim swCutlist As SldWorks.BodyFolder
Dim swFeat As SldWorks.Feature
Set swFeat = SwModel.FirstFeature
While Not swFeat Is Nothing
ElseIf swFeat.GetTypeName2 = "BodyFolder" Then
Set swCutlist = swFeat.GetDefinition
Set swFeat = swFeat.GetNextFeature