My wife is Bulgarian and I've been there 6 times since 2006. I have never had a problem using the ATM but you should contact your bank before you going so they can set up a travel alert. Some banks fraud alert will prohibit you from accessing funds.
Likewise, Visa/Mastercard are widely accepted but as with the rest of Europe - you should have a 'chip card' and contact your bank to set up a travel alert. American Express is accepted at major hotels but is not widely accepted (again, you should have a chip card).
I did have problems exchanging travelers checks - many banks refused to exchange them (Plovdiv, Sofia). There were some places in Nesebar that exchanged them.
Also, banks would not exchange any currency (Euros/Dollars to Lev) with any kind of wear or tear - even small tears.