Thanks for the reference. I understand in theory what needs to be done, but I don't quite follow the maths. I follow that a, b is translating x1, y1 and x2, y2 into a vector, and -b,a or b,-a gives you a vector perpendicular to a, b. I assume creating the equations would mean something like:
x = by + a, or y = ax + b (Line on box)
x = ay - b, or y = -bx + a (Line Perpendicular to box line)

I'm not sure what is meant by "count their equations to get the intersection point" though? I have a feeling I should know, but my maths is a bit rusty.

Uh, did you try this project?
http://etgames.q.org.za/tmp/Prototype2.zip

I'm not even drawing an image here, it's just a surface being plotted to the DXDraw surface. Switching to hardware mode causes rendering of the surface to fail. (Try the .exe I provided with the project) Drawing via TDXImagelists works fine (as long as I don't create more than one).

The reason for me having multiple image lists is a custom graphics storage format I created which allows me to address images from the context of sets of images. This was of course done before I found out that you can have multiple images per item in an image list, but since I built a custom image set creator program to easily put together my graphics sets, I'm still using my format. Under this format, having all the images for a game within a single image set loses me the ability to have sets of sets of images. (I.e. Unit > Walking Animation > <set of images>) Instead, everything would be mixed up in one long list of sets. Anyhow, it's not the end of the world or anything, but the functionality was working in previous versions and now it isn't.