i've had the same problem on and off. I've replaced bat, and checked connections. But it still sometimes happens.
I'm planing to replace the starter solenoid with a better one, based on this article.
Try this
http://www.ducatisuite.com/startersolenoid.html