I've found the problem!

It was caused by the arguments of the define region function for the scroll. In the editor, I use graphic_info to get the dimensions for the scroll window from level's foreground map. Like this:
// Initializes scroll
start_scroll(0,stage.fpgfile,stage.fg,stage.bg,1,4); //LOCK=4
say("created scroll");
// Defines scroll region after which it will move
//scroll.region1=define_region(1,0,30,graphic_info(stage.fpgfile,stage.fg,G_WIDTH),graphic_info(stage.fpgfile,stage.fg,G_HEIGHT));
This worked fine in older bennu versions from 2011 and older, but in the later ones it causes an issue.
I stumbled on this by simply trying:
scroll.region1=define_region(1,0,30,1024,300);
instead. Now this works fine, so I guess I'll have to create a workaround, or maybe the graphic_info function has been altered?
Update:I found out that graphic_info returns 3840 for the witdth and 300 for the height. These values are correct for bitmap size, but the region
width may not be bigger then 1024 (screen resolution) or else it goes bezerk. This didn't happen in older versions, so be carefull.
There is a treshold for the value, the bigger you make it, the more the sprite gets out of focus, untill it can actually go out of the visible screen
area and take a long time to scroll the scroll.
Turns out, that this wasn't a bug, but an obscure coincidence causing seemingly erratic behaviour.