I'm using TBitmap to load 8-bit bitmaps, rotate them and display windowed parts of the rotated bitmap. My problem is that the following lines raise an "stream read error" exception when the size of the bitmap is too big (e.g. 2048x3072):

yup, it's typical failure. What you need to do is not rely on built in classes that eat up memory without need or get choppy on bigger sets, what you need is your own class, that can do it hardcore way, you know drawing bitmap all over from file, not using wussy classes