The recommend way to use Aspell is through the Pspell library. Please see the Pspell manual for more details.
Aspell now has a C library interface through use of Pspell. Please see the Pspell manual for more details.
Read-only Aspell methods and functions should be thread safe as long as exceptions, new, delete, delete[], and STL allocators are thread safe. To the best of my knowledge gcc and egcs meet these requirements. It is up to the programmer to make sure multiple threads do not do thing such as change the dictionaries and add or delete items from the personal or session dictionaries.