What happens is, as you can see in Screen1.tga, 'this' pointer is NULL. 'this' should've pointed to "RootLayer 1". This is VERY strange as, in the previous call, Layer::move_layer(), 'fParent' is valid!
If fParent is valid in the previous function.... hm. Either there is a concurrency problem (the layer pointer is set to NULL from another thread, is this possible and therefor protected by a lock?), or memory is trashed somewhere, maybe by the BRegion stuff?
I have no clue actually and no time to investigate myself. Sorry that I'm not much of any help. Hope you find the cause.
Life is busy, I know! :-) I hope too... I must! :-D
bye now, Adi.