I'd guess a hardware problem, yes. The only thing I can think of is that it's got a loose connection on one of the data pins. That could cause a high resistance, preventing it from recognising the shorted data lines, but still allow it to work as a data cable.