Well you're probably out of luck there. The "surface limitation" is a limitation of DirectX/hardware (more specifically ammount of index buffers)
and what planet are you living on? ;)
the B3D surface limit is not the fault of directX, its [likely] the way b3d handles vertex data. Do you think other blitzers have been making single-surface code/libraries just for the fun of it? its because ss stuff gets around b3ds "surface count limitation"