"Branding" open source hardware...

usb enableded bootloader ... no hassle in the code

The "hassle" isn't at boot time, it comes later when user want "Serial.print" to show up on their PC, and Serial.read to get data FROM the PC. In the hypthetical single-chip Arduino, that implies a whole USB stack running ALL THE TIME in parallel with the user's sketch (essentially a background operating system.) And THAT becomes a hassle!