I have a small datasnap server written in Delphi 2007 that accesses the BDE. It works fine on Windows 2000 and XP but from time to time (actually quite regularly) on Vista
You haven't mentioned if you've tried adjusting the virtual memory settings. BDE error 2501 is an "insufficient virtual memory" error. Some articles that may help:
BDE Sharedmem fix (older)
Specific memory walk through of things to check/fix