My females, first time, have often held on for as long as 45 days.
They don't hold nearly that long with later broods. (one of mine had her 3rd brood in 22 days, her first brood was 44 days)
Also something to consider, they could be giving birth and they are being eaten.
Females can become pregnant immediately (even without a male in the tank) up to 6 times from one mating and sometimes dont get skinny in between. Some of mine do get thin after, some of mine don't and are immediately pregnant again.
Make sure you have plenty of cover if you want to save fry. 65% of the top cover is generally a good rule to follow as they will "go to the light". Also make sure there is lots of bottom cover for them to run to as well.
If you give her lots of places to rest and hide, have plenty of fry cover, increase the temp 2 degrees, do a 10% water change (this "Fakes" rain shower when they would normally deliver in the cleanest water) and often helps.
Good luck,
Kath