OK never mind I found the answer. It needs to be escaped by using double-quotes. Hopefully this can be added to the documentation somewhere.
ExecuteSQL( "SELECT ""__kp_CustomerID"" FROM CUSTOMER"; char(9); char(13))
For documentation on what you can use in SELECT with ExecuteSQL, look up the SELECT statement in the PDF for the ODBC and JDBC guide. And yes, this section should both be clearly identified as applying to this function and it should include info on using double quotes.