I'm using LoadSeg to get the BPTR that RunCommand accepts, I suppose the pointer is still valid after using RunCommand or do I have to UnLoadSeg and LoadSeg again..., Nah I don't think so...
You must. Some programs might run fine without reloading, but you really can't know if program x will, thus you can't trust it (the problem is that bss, data are no longer the same as at load time). Pure and reentrant (resident) programs work without reloading obviously.