I suppose as the way you change the colour is by creating a green cursor and assigning it, the CustomMouse considers it to be a new mouse, so hasn’t been pressed in anything yet. One alternative would be to set the pointer at the beginning and the change its colour using:
vmend.pointer.color = (0, 255, 0)
So that it retains the same pointer, just in a different colour.