Thanks for your answer Steve. But your explanation doesn't really match my observations. I already configured 'trunking' (my vendor calls it that way) on my switch, this is necessary for 802.3ad to work. And also, I see that both links are used, like defined in 802.3ad. It's not that STP disables one of the two links.
Another problem I have now is that after a live migration of a KVM it takes a while (30 seconds or so) before the route to the new location is found. Without using bonds this is much much faster (<1 sec). KVM sends a 'gratuitous Arp' after a migration and the switch knows the new route immediately. With my current setup this apparently doesn't work, but I don't know why.
Third problem: I've read that it's also possible to attach two (or more) interfaces to a bond directly. I did that to test it:
iface br0 inet static
bridge_ports eth0 eth4
But when I activated this my WHOLE network became unreachable, and I had to get to the server and plug it off to get the network working again. (Yes we have power switches, but they were also unreachable due to the setup above!) Can somebody explain why this could happen? It's quite scary that one server can just put down a complete network (over several switches).