The following is an attempt to succinctly summarise the solution in the Hart, Kahn, and Kahn paper that MJD indicated, so I claim no originality for the solution. I will however use a somewhat different terminology.
To elucidate the dynamics of the "Bulgarian solitaire" transformation, a "potential energy" statistic is defined on configurations, which the transformation never increases. For this we order both the piles (by weakly decreasing size after each transformation) and the stones of each pile (from bottom to top), numbering the piles and stones starting from $0$. The potential energy of each stone is then the sum of the numbers of its pile and of its position in the pile, and the total potential energy is the sum of those of all the stones. One can visualise this by placing the piles on a staircase, the first (tallest) pile at level $0$, the next at level $1$ and so forth.
The transformation consists of two steps: the first "shaving off" the bottom stones of each pile to form a new pile numbered $0$ (the stones keeping their energy), while increasing the number of what is left of the piles; the second sorting the piles into weakly decreasing order, which just means "bubbling" pile number $0$ to a higher number as long as it is smaller than its successor. It is easy to see that the first step does not change the potential energy, while the second step can only decrease it, and will indeed decrease it whenever there is actual permuting of piles.
When the transformation is iterated and an ultimate cycle is reached, then the potential energy must be constant during that cycle, so the second part of the transformation never permutes anything anymore. Then every stone retains its potential energy $e$, and cyles periodically through the $e+1$ piles numbered $0,1,\ldots,e$. For any level $e\in\mathbf N$, the $e+1$ positions of potential energy $e$ can be all filled (a full level), all empty (an empty level), or some can be fulled and other empty (a partially filled level). Clearly if a level is full then previous levels are also full, and it a level is empty then successive levels are also empty. The final point to show is that in the ultimate cycle there can be no two consecutive partially filled levels.
Supposing for a contradiction that levels $e$ and $e+1$ are both partially filled, then in each of these levels there is a filled position with the position just behind it empty. Since the periods $e+1$ and $e+2$ are relatively prime, we can iterate until both these filled positions are in pile $0$, and after one more transformation those two positions in pile $0$ will be empty. But then at that point pile $0$ has become shorter than pile $1$, contradicting the fact that no permutation of piles is necessary in the ultimate cycle. So there is at most one partially filled level: the full levels give the largest trianglar number not exceeding the number of stones, and any remaining stones fill a subset of the following level. If the number of stones is a triangular number, then there are no remaining stones.