Since Arduino insists on having a serial line to upload the firmware (although none is needed for usbasp), you may have to edit Arduino's preferences.txt file manually and set the variable serial.port to an existing device. Preferences.txt is in ~/Library/Arduino on the Mac.
With Arduino 11 the serial pb will disappear (not tested yet but something like metaboard.upload.disable_flushing=true will solve the pb)
Is it possible to communicate with the computer from within an Arduino sketch? Would the board still appear as a virtual serial port? Would there be a way to create a version of the Arduino Serial functions that would work? How many limitations would that impose on the other processing done by the sketch?