Buenas!!! Respondo:
Dididito: Malas noticias, descargue el proyecto, y corre sin problemas en mi pc. La verdad que no se porque no carga la libreria en tu PC.
Prueba cargar la libreria con este codigo.. reemplazando el anterior
try {
// Function to be able to call the methods from jPicUsb library,
// defined as jpicusb.dll
iface.load();
} catch (Exception ex) {
Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, ex);
try {
System.load((new File(".")).getCanonicalPath() + System.getProperty("file.separator") + System.mapLibraryName("jpicusb"));
} catch (IOException e) {
Logger.getLogger(mainProgram.class.getName()).log(Level.SEVERE, null, e);
}
}
Te advierto que esto no es como deberia cargarse la libreria, sino que es un tipico manotazo de ahogado.
umov: Me alegro que hayan podido correr la aplicacion

Vamos por partes, con los items que preguntaste
1) Si netbeans esta abierto, y el proyecto es ejecutado desde netbeans, netbeans establece como
Run Path el directorio del proyecto. Y como asumo (ya que segun nos comentas, funciona bien) que la libreria
jpicusb.dll esta en el path del proyecto, funciona debidamente.
2)Si ejecutamos el jar desde el explorador de windows, ya no esta netbeans para que cambie el
Run Path, asi que ahora el
Run Path es igual al path en el que se encuentra nuestro
jar, asi que la libreria va a ser buscada en el mismo path que el archivo
jar.
Es decir, que lo solucionamos copiando el archivo
jpicusb.dll a la carpeta en que se encuentra el archivo
jar de nuestro proyecto.
Nota: Que netbeans este abierto o no al momento de ejecutar el jar desde el explorador de windows, no afecta en nada.
3)Si copiamos nuestro jar a otra carpeta, y lo ejecutamos en la nueva ubicacion desde el explorador de windows, este no abre debido a que no encontro el paquete jpicusb.jar, que esta ubicado en la carpeta lib.
Es decir que tambien hay que trasladar junto con el jar, la carpeta lib a la nueva ubicacion.
Luego de hacer esto, el programa abrira, pero no funcionaran los comandos, debido a lo tratado en el punto 2)

Asi que repasando de nuevo, si queremos distribuir nuestra aplicacion, debemos copiar el archivo
jpicusb.dll a la carpeta
dist, y luego copiar
la carpeta dist a su nueva ubicacion, y ponerle el nombre que uno quiera.
Luego al ejecutar el jar dentro de esta carpeta, todo deberia funcionar bien

Espero haber aclarado las dudas, y que se haya entendido algo

Saludos!