You are completely correct. I made some modifications to the Sonata (derived from Cabbie) theme and now album art is behaving properly. I probably made some errors in my modified code, but here's what I did:
# sonata theme
# derived from cabbie-enhanced
# modified by Kenton W.
%wd
%X(wpsbackdrop-220x176x16.bmp)
%Fl(2,12-Adobe-Helvetica-Bold.fnt)
%Fl(3,08-Fixed.fnt)
%xl(A,rg-220x176x16.bmp,70,154,6)
%xl(B,battery-220x176x16.bmp,95,155,10)
%xl(C,volume-220x176x16.bmp,124,155,10)
%xl(D,shuffle-220x176x16.bmp,156,155,2)
%xl(E,repeat-220x176x16.bmp,182,153,5)
%xl(F,playmode-220x176x16.bmp,199,154,5)
%?rg<%xd(Aa)|%xd(Ab)|%xd(Ac)|%xd(Ad)|%xd(Ae)|%xd(Af)>
%?bp<%?bc<%xd(Ba)|%xd(Bb)>|%?bl<|%xd(Bc)|%xd(Bd)|%xd(Be)|%xd(Bf)|%xd(Bg)|%xd(Bh)|%xd(Bi)|%xd(Bj)>>
%?pv<%xd(Ca)|%xd(Cb)|%xd(Cc)|%xd(Cd)|%xd(Ce)|%xd(Cf)|%xd(Cg)|%xd(Ch)|%xd(Ci)|%xd(Cj)>
%?ps<%xd(Da)|%xd(Db)>
%?mm<%xd(Ea)|%xd(Eb)|%xd(Ec)|%xd(Ed)|%xd(Ee)>
%?mp<%xd(Fa)|%xd(Fb)|%xd(Fc)|%xd(Fd)|%xd(Fe)>
#Viewport for Album Art
%V(4,20,100,100,-)
%Cl(0,0,100,100,c,c)%Cd
#NowPlaying
%V(107,21,-,40,2)%Vf(eeeeee)
%s%al%it
%s%al%ia
%V(107,56,-,40,1)%Vf(eeeeee)
%alAlbum:
%s%al%id
%V(107,94,-,40,1)
%alNext Up:
%s%al%?It<%Ia - %It|%Fn>
#timing
%V(9,136,204,18,1)
%al%pc%ac%pp of %pe%ar%pr
#clock
%V(6,156,50,18,1)
%al%cl:%cM%cp
#numeric volume
%V(124,152,16,18,3)%Vf(006bf6)
%al%pv
#Progress Bar
%V(7,127,206,8,-)
%pb(0,0,206,8,pb-220x176x16.bmp)
Notice that I also corrected a problem with the progress bar not being in a viewport and the clock's minutes tag is now %cM instead of %cm. The %cm tag displays the month number, not the minutes as was intended.