The issue here is that the COM port that the application writes to and reads from is hard coded. You get this error because your device is connected to a different port than the one the application expects. The application listens always to COM0, while the virtual COM number assigned to the device when you connect it with your PC changes dynamically by the OS. On top of that, the virtual COM number is used by the HyperTerminal, while the midlet should use the name of the physical port, i.e. "USB1" or "USB2" etc depending on how many USB ports your PC has.
I could make it work on Windows 7 when I followed these steps:
1. I found the virtual COM number assigned to the Device by clicking start>right click Computer>Properties>Device Manager>expand the "Ports (COM & LPT)" option.
2. In HyperTerminal, I created a new connection and selected "Connect using:" and the virtual COM number I found in the previous step.
3. I found this line in the midlet:
and changed it with this one:
comm = (CommConnection)Connector.open("comm:com0");
In you case, try also USB2, USB3 etc. (depends on how many USB ports you have)
comm = (CommConnection)Connector.open("comm:USB1");
4. Compiled again and run.
It would be wise not to hard code the port number and let the user of the midlet define the port by using some UI element.