ワイド文字を書き込む先のメモリが確保されていない。これぐらいやらないと。
Dim AMes1 As BytePtr
Dim AMes2 As BytePtr
Dim WMes1 As *WCHAR
Dim WMes2 As *WCHAR
Dim AMes1Size As Long
Dim AMes2Size As Long
Dim WMes1Size As Long
Dim WMes2Size As Long

AMes1 = "こんにちは"
AMes2 = "挨拶"
AMes1Size = lstrlen(AMes1) + 1
AMes2Size = lstrlen(AMes2) + 1
WMes1Size = MultiByteToWideChar(CP_THREAD_ACP, 0, AMes1, AMes1Size, 0, 0)
WMes2Size = MultiByteToWideChar(CP_THREAD_ACP, 0, AMes2, AMes2Size, 0, 0)
WMes1 = malloc(SizeOf (WCHAR) * WMes1Size)
WMes2 = malloc(SizeOf (WCHAR) * WMes2Size)
MultiByteToWideChar(CP_THREAD_ACP, 0, AMes1, AMes1Size, WMes1, WMes1Size)
MultiByteToWideChar(CP_THREAD_ACP, 0, AMes2, AMes2Size, WMes2, WMes2Size)

MessageBoxW(0, WMes1, WMes2, MB_OK)

free(WMes1)
free(WMes2)