Detto così non vuol dire nulla. Dipende dal perché questo è lo scenario che ti funziona. E potrei pure tirare ad indovinare: la applicazione fa uso di immagini (o risorse in generale) che carichi dal file-system con un path relativo alla directory corrente? Allora il problema è l'approccio sbagliato al caricamento delle risorse.
Non ho mai usato personalmente JSmooth ma da quello che so ed ho letto, permette solo di generare un "wrapper nativo" che avvia la JVM con il jar della applicazione. E il jar della applicazione è incorporato nel exe ma all'avvio viene estratto e scaricato in una directory temporaneamente.