It is suspected that your destroyed() signal crashes lyx in this case, maybe a problem with my gcc 3.4.6. I remember that a similar crash that is only reproducible on gcc 3.4 was fixed by adding disconnect() somewhere a while ago. Maybe this is the case again.
FYI, lyx compiled with gcc4 does not have this problem. Bo