Whoops, sorry! I didn't see a notification for your message previously. I've since moved on to a different collision system for my current project as I couldn't get the collision just right for my needs (my project isn't a top down game, but I was trying to get the pixel perfect collision working for my platformer style game).
If I remember correctly, GMS2 was seeing x and y as a variable in the script, rather than the x and y instance variable of the object. When putting "self." in front of it, the script found the calling object's instance variables and it worked as expected. Maybe an update of GMS2 caused this?