I was able to print my MapPoint control's map to any desired printer from VB6 with a common dialog control and a couple API calls. Any suggestions/comments are welcome.

Use at your own risk, not the views of my company, blah, blah.

Public Const WM_SETTINGCHANGE As Long = &H1A
Public Const HWND_TOPMOST = -1

Public Declare Function GetProfileString Lib "kernel32" _
Alias "GetProfileStringA" _
(ByVal lpAppName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long) As Long

Public Declare Function WriteProfileString Lib "kernel32" _
Alias "WriteProfileStringA" _
(ByVal lpszSection As String, _
ByVal lpszKeyName As String, _
ByVal lpszString As String) As Long

Declare Function PostMessage Lib "user32" _
Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lparam As String) As Long

Private Sub PrintMapPointControl(asTitle As String, abIncludeLegend As Boolean, abIncludeOverview As Boolean, abFaxable As Boolean)
Dim sDefaultPrinter As String
Dim nSize As Long
Dim lRet As Long

'save the original default printer
nSize = 256
sDefaultPrinter = Space$(nSize)
lRet = GetProfileString("windows", "device", "", sDefaultPrinter, nSize)
sDefaultPrinter = Left$(sDefaultPrinter, lRet)

'*** Use common dialog control to prompt user for desired printer
CommonDialog1.PrinterDefault = True
CommonDialog1.CancelError = True

On Error GoTo 0

'*** tell the MapPoint control where to print to
m_oMap.Application.ActivePrinter = Printer.DeviceName

'*** print the current map
m_oMap.PrintOut , asTitle, CommonDialog1.Copies, geoPrintMap, geoPrintQualityPresentation, geoPrintAuto, False, abIncludeLegend, abIncludeOverview, abFaxable

'*** reset the original default printer
WriteProfileString "windows", "device", sDefaultPrinter

'*** flush any cached settings
WriteProfileString vbNullString, vbNullString, vbNullString

'*** tell other apps that default printer has changed
lRet = PostMessage(HWND_TOPMOST, WM_SETTINGCHANGE, 0&, StrPtr("windows"))

'*** user pressed cancel on common dialog

End Sub