Its a good habit, to place code that draws something, in procedures that are meant for drawing. The FormKey Up event is used for handling input.
As such you should only change the variable Menuchoice in there.

As for your question, from what I understand is that your menu only works with the items 'options' and 'exit'. This is because in your code you say that menuChoice should become 1 when Down is pressed and menuChoice is equal to 3. Therefor only two values work: 1 and 2. In your case probably exit and options.


Also, if I may give you another tip...

Take a look at those if statements and check for a pattern. See how you keep repeating those ifs? Your code would be much cleaner if you placed all that in a case block.
Code:
case key of:
  vk_up : ;
  vk_down : ;
  vk_escape : ;  
end;
Hope that helps a bit.

PS, are you by any chance the one that emailed me about a menu? I read an email earlier today (received on saturday) about a similar issue, but I didn't get around to answering it yet.