Win32 API function fail

Hi,
        I am using the Delphi c/s 3 and access 97 database to develope an
application, there are about 30 main tables in the database, but when the
application is executed, SOMETIMES, I mean sometimes the application will
raise an error message 'Win32 API function fail' and I don't know where the
problem is.
        Another question is, I want to know, is Msaccess 97 a desktop database or
a small SQL database server? that is, which method should I use to
programming with the msaccess 97 database, the desktop database method or
SQL database (client/server) method?
        By the way, I found delphi uses Very Much system resources with all the 30
main tables opened and it takes very long time to open a table, so I wander
is there a way to improve the performance?

thank you very much!!!
David Ting