You used '||' in one place instead of '|'
(0 << USICNT2) || (0 << USICNT1)
Also, you really don't need all of the 0 << n, since that is always 0, unless you want it for documentation.
It might be simpler to have a bunch of const int variables and let the compiler optimize these into a single mask:
const unsigned overflow = 1U << USIOIF;
const unsigned stop_condition = 1U << USIPF;
const unsigned data_collision = 1U << USIDC;
Serial.print (overflow | stop_condition | data_collison, HEX);