You can avoid this problem when you not use the predefined mouse_map, but a panel that you move with the mouse, like this:

function bmap_mouse()
{
PANEL* mousepanel = pan_create(NULL,9999);
mousepanel.bmap = some_mousemap;
set(mousepanel,SHOW);
while(1) {
mousepanel.x = mouse_cursor.x + some_offset_x;
mousepanel.y = mouse_cursor.y + some_offset_y;
wait(1);
}
}

Then you can leave mouse_spot at zero and it should still work, try it.