I think stretch blit
( void stretch_blit(BITMAP *source, BITMAP *dest, int source_x, source_y, source_width, source_height, int dest_x, dest_y, dest_width, dest_height);
)
causes an access violation some times. I mean like I hold a key down and the thing repeatings exact (none of the varibles are changing) same thing over and over, then crashing.

It seems only to happen on Windows XP (I've only tried it and Vista though). It seems to work fine on my Vista computer.

I have a work around. I use a function called (helper function, I guess) jstretch_blit where it has the stretch_blit function in a try scope and if an exception is thrown catch uses a slow thing to draw the same thing (one I made my self).