I've actually used one of these with an MDBT42 so I know it works... There is no need for resistors (at least when I did it) - and as @AkosLukacs says the MDBT42Q isn't 5v tolerant so pulling up to 5v won't be good for the IO pins anyway.
Stuff you could try though:
Is the LCD definitely running on 5v?
All the GND pins should be connected together.
Are you sure the I2C pins are the right way around? Maybe try swapping them just in case - it won't break anything if they're wrong.
Try var i2c = new I2C(); i2c.setup(...); require("HD44780").connectI2C(i2c); to use software I2c, just in case.
If all that fails, could you send us a picture of the back of the LCD? It's possible it's using a different IO expander to the usual ones.
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.
I've actually used one of these with an MDBT42 so I know it works... There is no need for resistors (at least when I did it) - and as @AkosLukacs says the MDBT42Q isn't 5v tolerant so pulling up to 5v won't be good for the IO pins anyway.
Stuff you could try though:
var i2c = new I2C(); i2c.setup(...); require("HD44780").connectI2C(i2c);
to use software I2c, just in case.