This is just a crazy thought, but does your map breakpoint start at 0 rpm or something higher? I had a situation once (non-ducati) with a custom ignition unit/map I was using didn't have the breakpoint set low enough, and at idle I guess the rpm variation was enough that it couldn't interpolate what the timing was supposed to be, and it acted all goofy.
Other than that I have no ideas except to set it on fire.
