I encountered a similar problem recently and was able to correct it by reordering the start of module-init-tools to right before udev. This gave me the control to force a particular ethernet driver to load first (from /etc/modules) and therefore capture eth0.
This is analogous to the behaviour I had observed previously, that /etc/modules entries were loaded very first. If there is a more hot-pluggy way to do it, I couldn't find one easily. Thanks, Damon
signature.asc
Description: Digital signature