This is really not the right way to do this. HardwareSerial on line 53 should become SERIAL_CLASS, this cast should go away. (I have no idea where it would find the definition of HardwareSerial when compiled on the DUE)

Have you tested this code on the DUE? ros/ros.h will actually call the default constructor (line 59), so I'm assuming that "UARTClass Serial" exists on the DUE?