Justo como dice escafandra, el compilador debe elegir entre tres tipos diferentes (como mínimo). Supongo (nunca he usado Borland C++, me quedé con Turbo C/C++ 2.0) que tanto AnsiString como String son clases que definen operadores diversos, entre ellos alguno para combinarlos con char[], y ahí es donde creo que el compilador se hace el lío y no sabe qué hacer.
Yo dejé de usar C++ precisamente por eso: porque muchas veces se daba un caso similar a este (sobre todo si se usaba la vieja de la STL, no sé si con la nueva habrán arreglado algo) y lo mejor que podría pasarte es que no compilara y devolviera un error, porque si compilaba entonces funcionaba pero mal y era complicadísimo encontrar dónde estaba realmente el error.
|