You can have as many POSES as you want within a single ACTION sequence but yes, although I don't recall the exact limit (24 sounds about right), 2.49 et al had limits on the number of active datablocks certain operations had available for use, which once hit would either not allow more to be generated, or as you're finding now, Blender over-writes existing blocks. Another example of this in 2.49 would be the 'name ID' input fields being limited to c.20 characters (ID names generally can't be longer than that). That's why you're hitting the limit. You can't necessarily work around this using 'Append' either because the limited is 'overall', once you hit 24 the same behavior kicks in.
What you're likely going to need to do is break your sequences down so depending on the speech, and face shapes required to match, you may need to use more than one Blender source file with slightly different Pose/Action sequences available for use, i.e. "the cat sat on the mat" would be associated with one Blender file that had an appropriate collection of poses, with "the quick brown fox jumped over the lazy dog" being associated with another Blender file with a slightly different collection of Poses/Actions (what you might be able to do is save individual poses/actions as independent *.blend files that Append as needed, that way you're always using the same root Pose data for all).