As I'd mentioned above, you don't want to call reset:
I think that when the app connects it runs some magic command on the Smartibot (it may just end up being smarti = require("Smartibot"); or something like that).
Either way if you ran reset() it'd blow away the result of running that command, which may be why the dpad no longer works?
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
As I'd mentioned above, you don't want to call reset: