If I'm not mistaken the DXDraw.Surface.Draw function is used by the DXImageList too, however I'm not quite sure if the DXDraw.Surface.Draw function works with the DXImagelist too.

There is a way to use tiled bitmaps (bitmap sheets) with the DXImageList, you have to specify the height and the width each image has by setting the PatternWidht and PatternHeight property of the Item (TPictureCollectionItem) of the DXImageList. If you use the DXImageList.Items[x].Draw function you just specify:

DXImageList1.Items[0].PatternWidth := 64;
DXImageList1.Items[0].PatternHeight := 64;
DXImageList1.Items[0].Draw(DXDraw1.Surface, 20, 15, 2);

Using this line, your first DXImageList1 image will be draw on the DXDraw1.Surface at position (20,15) and the 2nd image in the tiled bitmap (bitmap sheet) will be drawn ( = RECT(64, 0, 2 * 64, 64))