Então, eu dei uma investigada e bem só posso te dar más notícias...
Infelizmente o sistema de colisão é meio ruim.
O que acontece é que ele não é preventivo, ele age na hora que a colisão ocorreu. Imagina que você ficasse dizendo pro jogador "se colidir, para". Se tu sair correndo contra uma parede, você obviamente ia acabar parando dentro dela porque você se move bem mais rápido que 1 pixel por frame. Acontece exatamente isso quando você vai de encontro ao um objeto, você vai acabar detectando a colisão tarde e vai parar dentro dele, e aí a colisão de "cima" e/ou "baixo" vão ativar.
E a detecção de colisão... bem... ela parecia péssima. Eu coloquei que a largura do meu objeto fosse 100, e que a detecção de colisão pela direita e esquerda fosse 100, e ainda assim ele só tava detectando a colisão quando encostasse nele, como se fosse uma colisão padrão do RPG Maker.
Foi aí então que eu me toquei que "derp, se o código do evento só vai rodar 'Ao Tocar Jogador', óbvio que não vai funcionar". Precisa passar ele pra Processo Paralelo. E pra resolver o problema de entrar no objeto caso o jogador e o objeto sejam rápidos, adicione 5 na largura e 5 na quantidade do colisao das colisões laterais. Pelo menos funcionou comigo. E claro, se tu for fazer algum boss que seja enorme, vai ter que passar pra processo paralelo também.
Foi o pau da goiaba achar o script do Fogomax já que a MRM tá off, mas espero que meus testes te ajudem!
---------
Sobre mudar a largura do personagem, é que ele de lado tem realmente em torno de 16 pixels. Se aumentar isso vai ficar sobrando espaço entre você a parede, porque seu gráfico é pequeno mas a máscara de colisão não. Único efeito colateral mesmo.