Por tu codigo claramente me doy cuenta que seguro te da un error la 2da vez que ejecutas dicho codigo y como tienes un exit sub no te aparece ningun mensaje que te avise de dicho error.
Intenta asi y ve que error te sale para poder solucionarlo, probablemente sea que ya tienes el objeto abierto y por lo tanto no puedes volver a abrirlo.
Código:
Private Sub cmdprint_Click()
On Error GoTo trap
DataEnvironment1.CheckinoutMaes DTPicker1.Value, DTPicker2.Value
Load ReporteMaestros
ReporteMaestros.Show
trap:
MsgBox "Nº de error: " & Err.Number & " | " & Err.Description, vbCritical
End Sub
Probablemte podrias solucionando descargando y cerrando el recordset o el objeto que utilizes, no se mucho sobre dataenvironmente pero los recordset los vacio y cierro asi
Código:
Private Sub Form_Unload(Cancel As Integer)
' cierra los recordset
If Not rs Is Nothing Then
rs.Close
Set rs = Nothing
End If
End Sub