I'm not sure how xend acts on Lenny but on CentOS when it comes up it renames eth0 to peth0 and then creates a bridge called eth0 and adds peth0 to it. If this is happening on Lenny and your bond is made up of eth0 and eth1 then you can see the problem. Xend is taking away one of your physical ethernet devices and changing it's name. If the bonding driver is loaded you should be able to check the status of the bond in /proc. On CenOS we do this like this.
[ root@vs / ] cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.2.4 (January 28, 2008)
Bonding Mode: load balancing (round-robin)
MII Status: down
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
I'm not sure of the solution for Lenny but for CentOS you need to rename your ethernet devices so xend doesn't rename the real physical ethernet device. Here's how on CentOS. Use this as a guide to figure out how to do it on Debian. It may be completely different but at least you understant the possible problem.
http://labs.boulevart.be/index.php/2008/09/08/64-bit-xen-330-on-centos-52-with-network-bonding-8023ad/
Grant McWilliams
Some people, when confronted with a problem, think "I know, I'll use Windows."
Now they have two problems.