Seems like you have to increase the max speed a lot to make Vector X work and give a proper "push".
And I'll throw in this example I found somewhere on this board:
on collision with enemy
set vectorX: (self.X-enemy.x)/Abs(self.X-enemy.X)*1000000
this works from both left and right of the enemy and "pushes" you back in the opposite direction.