What is the "open edge command"?
The first question is not even a question. Dividing by 2 merely changes the range from -255 to +255 to -128 to +127.
For the second question, you can use conv2() or imfilter(). I believe imfilter() does not flip the kernel like conv2() does.
For the third question, it was the programmers choice how to pick the angles of the edge. If there are lots of horizontal and vertical angles, you could get more signal with the standard kernel rather than the diagonal ones. If there are more angles at 45 and 135 then you'd get a stronger signal using the angled kernel. It's not like one if always better and one is always worse or wrong. You're free to do whatever gives you the best signal in your particular case.