You are only turning one set of coordinates into a 1-D array of endpoints with a single element with your build array function. You need to store the array in a shift register. When there is a new point, use build array, but build it onto the array coming out of the shift register Drag down the bottom border of the build array function to get more inputs.
Only do the draw multilines in the mouse up event. The mouse down event should probably do nothing but set your true/false flag to true.
These are quick comments for now. I don't have time at the moment to modify your code to make it work better.
I am trying to do something similar to this except I would like the VI to stop when you release the mouse after drawing a shape. I am able to get the program to work properly as long as you don't open the image from the file dialog over top of the image you are drawing on. The problem I am running into is when you open the image over top the image you are drawing on. The program is ending prematurely because the mouse button is going up over the image. Does anyone know how to solve this problem where both cases are satisfied?
Does the program stop running because you move the mouse out of the drawing window to open another file or because you click to open the new image?