rapunzel, i think the "i'm bad" is coming from childhood abuse/neglect. children know little concepts. they're only reasoning to why they're being treated the way that they are is "i'm bad". it's too difficult, painful and unacceptable to think that the parents and other adults are bad, so it come back on the child. we have a child here that's still in that place.
only you can actively decide to "go against the grain". you MUST fight with that internal thought. first, get some ammunition in which to do so. list the reasons that you're not bad and actively argue the point within yourself. this takes a long time...even a year of active arguing. it's easier not to do that, but nothing worthwhile is easy

i've done this same thing with AWESOME results. if anything happened (even things in which i had no control) it was because i was bad and not good enough. Now, that's another point.
first and foremost, you have to pinpoint and acknowledge that there's not alot you can control. recognize what you can and then have the argument pertaining to only things in which you had any control to begin with. i hope this is making some sense?
it really really has worked for me rap. you can create you own variations of this. it's so hard because we're going against the grain...what's been as natural in our lives and blinking and breathing. it takes constant awareness of the action.
i wish you well. i so know what you're talking about. i can still fall into that "trap", but that part of my life has greatly improved. if you decide to do this...write everything down along the way!
gl, dear. i know your upset here.
kd