Innanzitutto le dichiarazioni API che hai fatto sono vecchie, devi adattarle ale nuove sintassi...
#If VBA7 Then
Private Declare PtrSafe Function ShowWindow Lib "USER32" (ByVal hwnd As LongPtr, ByVal nCmdShow As Long) As Boolean
#Else
Private Declare Function ShowWindow Lib "USER32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Boolean
#End If
Attenzione nel tuo caso anche alla variabile che riceve l'Handle... [Dim hWindow As Long] che devi rendere condizionata e dichiararla nei 2 modi... oppure vai a scrivere direttamente nella chiamata
nResult = ShowWindow(Application.hWndAccessApp, nCmdShow)[code]
Poi non potrà mai funzionare, il ByVal è solo nella dichiarazione dei Parametri delle Funzioni/Sub non nelle loro chiamate, poi quello che hai scritto in quanto la nascondi poi la ripristini...!!!
[code]
nResult = ShowWindow(hWindow, nCmdShow)
Call ShowWindow(Me.hwnd, SW_NORMAL)
La 2° chiamata non la devi usare...
Insomma... credo quel codice sia molto fuori dal tuo normale.