На странице wiki/GP2D12 приведена функция для работы с GP2D12
Function Sharp_d12(byval Adc_chanel As Byte) As Byte
Похоже, что там ошибка: возвращаемое значение должно быть объявлено как WORD, а не Byte, не так ли?
В man-е BASICa написано, что:
'Note that the same data type must be used !
'So when declared as an Integer function, the result can only be
'assigned with an Integer in this case.