Back in version 0.23, there were at least 3 reasons why pets could not be milked:
1. The job code for "Milk Creature" only searches within the set of "cookable" items, and Pets aren't included in that list.
2. When examining the contents of a Cage or Animal Trap, the Milk Creature job explicitly checks that it contains a VERMIN item.
3. The "isMilkable" vmethod for `item_petst` simply does "return false;", compared to the version for `item_verminst` which checks Kitchen settings and also verifies that the vermin has the MILKABLE flag and hasn't been milked recently.
On the other hand:
1. The "has been milked recently" variable is part of the `item_critterst` base class, making it available to both VERMIN and PET items.
2. The Milk Creature job code actually checks for both VERMIN and PET items in addition to cages and animal traps.
Thus, it sounds like Toady might have planned for tamed purring maggots to be milkable at one point but then changed his mind. That, or he intended to add it but got distracted before he could finish implementing (and testing) it.