The AI is part of the problem, but it isn't the only one.
Many of the issues stem from the way the game world is designed. Descent levels are designed as a set of interconnected cubes, rendered from the inside. Freespace missions are wide-open spaces with objects in them. This crucial distinction affects a number of things that aren't handled by the Freespace engine, AI being just one of them. Lighting is another, as is rendering.
Really, the biggest AI problem (as people have pointed out) is simply avoiding walls and being able to navigate complex spaces. But that's a lot harder in the FS2 engine than it is in Descent.
Getting technical as to why putting "Descent-like" AI into Freespace is hard:One of the benefits of the connected-cube arrangement is that it means that a Descent level can be constructed as a node graph, without doing any pre-processing. Furthermore, All of those cubes are static for the duration of the level: they don't move around. Being able to construct such a node graph is crucial for such things as pathfinding: there are well-defined algorithms (such as A*) for finding the shortest path from point A to point B in such a node graph (such a Descent level). If we have a maze of corridors, it's computationally simple to compute a path from any point in the maze to any other that doesn't ram into walls. Using that, it becomes fairly easy to implement all sorts of neat behaviors with convincing bots that don't smash themselves into the walls constantly. I've actually implemented AI for a from-scratch project that does exactly this... but using the same "inside of cubes" assumption that Descent does.
On the other hand, if we try to do the same thing with Freespace, we have a number of problems. First of all, we don't have that connected-cube arrangement, so we don't have a node graph. That means we would need to examine polygon models and generate a graph on the fly. Furthermore, stuff in Freespace moves. That means we would need to be able to update the node graph on the fly as well, and our pathfinding algorithms need to take into account the possibility of the graph shifting underneath them. We also need to figure out how to do this in a way that stays computationally feasible, so the game doesn't grind to a halt. Finally, a lot of the tricks that would make this easier imply a radically different AI design than what we have right now. Trying to incorporate those elements into the already-existing AI framework without breaking the current model would be a very tough task.
That said, all of this is at least theoretically possible, and certainly would be useful and cool if we could get it to work. But it's definitely hard enough that I at least have no interest in attempting it anytime soon.