Extremely difficult to debug what we can't simulate in cases like this without access to the instrument...
But, the last properties of the serialport object are just what the doc says they are -- the BytesAvailableFcn stuff is related to how you set up the interface to have and use (or not) a callback function to handle the BytesAvailable condition -- it's either 'off' (no callback so the other two are immaterial or 'byte' (trigger the callback function when get the specified number of bytes in the device buffer) or 'terminator' (trigger the callback function when get the specified terminator 'Terminator').
The 'NumBytes' values would seem self-evident as to what are; the last is just an error condition callback function to handle a read/write error. I'm guessing without having used it (this machine doesn't even have a serial port so it's a little tough) that without anything there, errors are silently ignored so you might ought to have something there even if it's just a simple echo to the screen function to let you know...it might have something associated with the callback that could give you some klews as to what's going on.
You might try to see if you can code the functionality with the old serial() device and get it working there and then transition...I've seen a number of postings about new serialport implementation that lead one to think that since it is pretty new yet there may well be bugs and/or unknown warts inside it as yet.
There are some examples at the "Transition Your Code..." link that can get to from the doc under the "Compatibility Considerations" link -- some of those might help in setting up your code.