I've never actually tested this code in previous versions of EiffelCOM. I tested it thoroughly though and even though I may have erred I do think this is not a fault with the provided code but rather the EiffelCOM wrapping of the dx8vb.dll and/or the COM implementation itself. For additional reference, this code is based on a C++ example found here that I can confirm works on my end but seems to fail in my translation to Eiffel at the point described. http://www.codeproject.com/KB/directx/2dSprite.aspx I've really got my fingers crossed that this can be resolved, thanks.