In fact if I refer to the desktop, after quit the program, if I update U:\PROC\ folder I can see that the software stop and is remove (I suppose desktop use Dopendir() - Dreadir(), so list is updated correctly), but it is not true for Fopen or Fsfirst(), as I can test, it's strange no?
This sounds like a bug that needs to be squashed then. If opendir/readdir doesn't find it, then open shouldn't either. Even if the desktop doesn't reap its children, these calls should return consistent information.