No those are great answers. I did similar things on Still Not Dead and now cannot even bear to go into that project. I dont suppose you could say what kind of parenting techniques you use? Im new to gamemaker and organization is really something i want to improve at, it lets me down a lot. Also, can you hazard a guess why the speed/direction GM variables, caused that dissapear bug? Are they getting pushed way out of screen? Is their depth getting messed with? Im assuming you used "solid". Many people say the built in vars are crap, but i want to know why :P Thanks again, sorry for so many questions..
Haha don't be sorry for asking questions! I'm here to help haha. :)
When it comes to parenting, in my newer games, I tend to have a few core objects that everything inherits from. For example, I tend to create a parent I dub an entity. This base entity controls very little at the start, but it tends to get filled with variables every object should contain. My best example is how I handle my own movement and collision systems. I set up a parent "rigidbody" object that has all my movement and collision code inside of that. Everything that move inherits from that, which leads to every object having the same variables and functionality.
Basically, don't write code twice. If a chunk of objects are going to share behaviors, just make a parent for them.
Because this was a game jam game, it's super hacky. The issue of enemies getting deleted when pushed into a wall was a crappy fix we made last minute to solve enemies clipping into walls. We basically just delete the enemy if inside a solid. I've personally never had any luck with the built in GameMaker movement systems, as stuff tends to clip through solids and things just break really easily. I also tend to build games that need really specific movement systems, so it's just easier to build my own.
I hope this helps! :D