I knew that you have already realized that you do not need to use COM API to get a point. Just like to point out why was the error from your original "DirectCast(...)":
The error in from the inner DirectCast(), here is your code:
[Dim something As Autodesk.AutoCAD.Interop.IAcadApplication] = DirectCast(Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication, AcadApplication).
Note: the [...] part is what I added to simplify your original statement. Also, the second parameter the DirectCast() "AcadApplication" must be decleared somewhere as "object" (thus the need to cast, right?), and you probably get this reference from Autodesk.AutoCAD.ApplicationServices.Application's AcadApplication property in your previous code.
Here the error is Autdesk.AutoCAD.ApplicationServices.Application.AcadApplication is an OBJECT type that points to the COM object IAcadApplication. That is, the DirectCast() actually does nothing, and yet you try to assign it to COM IAcadApplication reference, hence the error.
Sorry for my bad English ....
I know someone indicate where the error?
VS2010 gives me error in AcadApplication
Thanks
Public Shared Function MyGetPoint(ByVal prompt As String) As Point3d
Dim a As Array = DirectCast(DirectCast(Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication, AcadApplication).ActiveDocument.Utility.GetPoint(Type.Missing, prompt), Array)
Dim point As New Point3d()
point.X = CDbl(a.GetValue(0))
point.Y = CDbl(a.GetValue(1))
point.Z = CDbl(a.GetValue(2))
Return point
End Function