The Arduino IDE insists that it can't communicate with my atmega328p using my USBasp, the kicker is that AVRDUDESS has no problems communicating.
I'm able to export the binaries from the Arduino IDE and flash using AVRDUDESS.
FYI, that firmware is actually a downgrade from the proprietary firmware the Chinese USBasp come with. That AVRDUDE message tricks a lot of people into wasting time with unnecessarily "updating" their firmware.
If you do want to update the firmware, there is a really nice community version that is an update (though the Chinese firmware works fine as long as you aren't doing an "Upload using programmer" to an ATmega2560 or similar):