I check it, and it works (one small bug is that first point cursor is 0,0, lisp does not get A point as a start, but it's just visual effect, result of mid point is correct).
You get mid point as list in result of function. Also, to run this as a lisp command in command line you have to add 'c:' in front of HALF function name in this lisp or run as lisp function directly in BabaCAD command line (using brackets), like this (HALF).