Okay, I worked out a solution. What I've done is set it up so the video is loaded first, and it does not animate; it simply plays in the background. Since the video gets played immediately regardless, it really doesn't matter. The screenshot loads after it, and its alpha animates from 0 to 255 over 1 second, after a 1 second delay.
Now, this works the first time I select a new game. There after, however, what happens is the screenshot does not appear until its alpha value is being animated, after 1 second. The conclusion here is that 1) yes, the animation module overrides the defined, non-animated alpha value, and 2) the animation module currently remembers its last setting, at least for a given artwork, so for example if you had something fade to alpha 0, and start a new animation on the same artwork, any delay you put in will still be at alpha 0 for that duration.
My clunky solution, which works, is to do two animations in a row on the screenshot. The first one is an alpha "transition" from 255 to 255 over a time of 1 ms (0 ms does not work). The second is the intended fade.
So really the only thing missing here is a way to legitimately delay the appearance of a given artwork, so that videos won't be loaded or played until the delay is truly expired.
Edit: Actually, the ability to delay the loading of elements in general would be very welcome. I use the Nevato theme (modded) for Mame, with the background set to display the flyer. Over USB 2.0, those flyers take long enough to load that it has an impact on how fast I can navigate the menu. It would be great if I could tell AttractMode to wait a moment before loading the background, so the load time doesn't clog everything. As far as I know, however, all you can do currently is what is provided by the animation module, and things still get loaded in immediately even if it is used.