I agree. I was just modifying a copy of your code locally, to optimize it a bit in a couple places, and was realizing the same thing. This is partly because the properties like Centermark.ExtensionPointOneDirection are ReadOnly, and so is the Centermark.Centerlines property. So, it seems like we can turn the extension lines on & off, and can move their end points, but can not rotate their direction. It seems like the only way I have seen to get the Centermarks to point towards the center of a view is if the part itself is round, and the holes in the part are associated with a circular pattern, which it can recognize when using the DrawingView.SetAutomatedCenterlineSettings method, once you have set-up the AutomatedCenterlineSettings object the way you want it.
By the way, below are just a couple snippets I was going to suggest as changes to your original code that you might have liked.
'get view bounds box (for checking if Centermark location is within later)
Dim oViewBox As Inventor.Box2d = oTG.CreateBox2d()
oViewBox.MinPoint = oTG.CreatePoint2d(oView.Left, oView.Top - oView.Height)
oViewBox.MaxPoint = oTG.CreatePoint2d(oView.Left + oView.Width, oView.Top)
...then a few lines later, while iterating the Centermarks
If oViewBox.Contains(oMark.Position) Then
...followed by another 'angle' I was working on
'get direction and distance from Centermark's position to view's center
Dim oVect As Inventor.Vector = oMark.Position.VectorTo(oViewCenter)
...but that's when I realized that those other properties were ReadOnly, and saw your reply also, so I stopped there.
Wesley Crihfield

(Not an Autodesk Employee)