masz tak, bo pocisk leci w stronę direction, a gdy szybkość wynosi 0 to direction automatycznie zmienia się na 0, czyli prawo. Użyj zmiennej kierunek, która zmienia się tylko... a co mi tam:
if (keyboard_check(vk_right))
kierunek = 0;
if (keyboard_check(vk_up))
kierunek = 90;
if (keyboard_check(vk_left))
kierunek = 180;
if (keyboard_check(vk_down))
kierunek = 270;
if (keyboard_check(vk_control))
{
poc = instance_create(x,y,pocisk);
poc.direction = kierunek;
poc.speed = 10;
}