Spent about 4-5 hours trying to figure out why my VB application was hanging while using the MapPoint OCX. It turns out that MapPoint hangs if you try and use the AddLine method on two location objects that contain the same lat/long. I had add the following code to get around it....
If objMap.Distance(objLoc, objLocLast) > 0.1 Then
objMap.Shapes.AddLine objLocLast, objLoc
Set objLocLast = objLoc