Почти согласен. Это решает ~99,9% подобных проблем, но остаются случаи когда до трансфера выхода в коинтрансфер транзакцию остается 1-2 блока(или гораздо больше при максимальной загрузке блоков транзакциями) и тогда при не попадании в течении этого времени транзакции в какой-либо блок по какой-либо причине она будет считаться даблспендом и зависнет в кошельке.
В таких пограничных случаях нужно автоматическое удаление сделать таких транзакций из кошелька, что восстанавливает первоначальный баланс.
И предупреждение пользователя наверное тоже не помешает добавить. Что то типа: Если Ваша транзакция не подтвердится в течении ХХХ блоков она вернётся назад, но с неё будет списана комиссия в размере 0,XXX%. Поэтому желательно сделать то-то и то-то чтобы транзакция подтвердилась как можно скорее... или т.п.
для примера: getrawtransaction c0af3d495038affbad2f8ea10b0e51f272056c011f5921f04ceb428107adbdbc 1
Странно. Вроде бы должно работать(у себя только что проверил).
Свой wallet.dat можете прислать для изучения такого случая?