Antes de compactar cierra la conexión al DataEnvironment:
If DataEnvironment1.connection.State Then DataEnvironment1.connection.Close
Y no entiendo el problema de poner toda la instrucción en una línea (cuando la cadena es larga siempre es mas legible ponerla en varias líneas), pero bueno, sería así:
je.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sOrigen & ";Jet OLEDB:Database Password=" & sPwd, "Data Source=" & sDestino & ";Jet OLEDB:Database Password=" & sPwd
Por cierto, que ese código me suena.