Yes, communication should fail - the reason is, devices are not allowed to feed any current into D+ or D- (which is how they communicate) until they observe Vbus (the 5V) high. This is actually guaranteed by the cable in many cases, because the device will 1) only have power from Vbus, and 2) not be connected to D+/D- until after Vbus and Gnd. Obviously 1 does not apply to self-powered devices.
That's assuming the device operates to the USB spec, and many devices do not. Another part of the spec they tend to ignore is that they may only draw 100mA until more has been negotiated. Requests for more are typically rejected only when connected to bus-powered hubs, as they don't have more power to grant. That's also why they tend to have four ports, as the hub registers to draw 500mA, needs a bit of power itself, and then must provide those 100mA on each downstream port.
In all, you'll probably have to modify the device or its battery connection rather than the USB cable to prevent charging. The specifics will depend on your device.