Part could get secured for two reasons. 1) Either your code specifies NVOPT value with security bits set to secured state, or 2) for some reasons reset happens after mass erase, but before reprogramming security bits in NVOPT to unsecured state. Mass erase sets all flash bits, also security bits to all ones. And security bits both set (11) mean secured state.
To my knowledge, after mass erase and code download, true time debugger tries to reprogram security bits to unsecured state (10). I guess this security bits reprogramming is done only in case your code doesn't specify NVOPT value (byte at 0x40F).
So you should make sure your code doesn't specify value for byte at 0x40F(NVOPT), or this value should have least signifiand bits set to 10 for debugging. Probably True Time Simulator could be used to check if your code specifies NVOPT or not. But I'm not sure about detail instructions how to, I must try it later.
I'm not sure why 2nd unsecure attempt failed. BDM pod shouldnt get broken due software. To check it is still alive I would check /RESET and BKGD pins. As I remember (and I could be wrong), JM parts have reset pin always enabled? If so, then when connecting, BKGD and /RESET pins first both must be pulled high. Then debugger should pull BKGD low, then pulse pulling /RESET pin low, then release BKGD. After that you should see some communications on BKGD pin.