You sort the cows, but you don't take advantage of the fact that they're sorted. Instead of iterating over the cows multiple times (which leads to O(n^2)\$\mathcal{O}(n^2)\$ time w.r.t. the number of cows), iterate over the sorted list once.
Unfortunately, I can't think of an easy way to do this using Python's built-in data structures. However, if we assume that CowTupleList is some list-like datastructure that has O(log(n))\$\mathcal{O}(\log{n})\$ or better performance for all operations (including del), then we can use binary search to find the largest cow that will fit in a cart's remaining capacity:
def greedy_cow_transport(cows,limit=10):
# Sort cows from largest to smallest
CowTupleList = sorted(cows.items(), key=lambda x: x[1], reverse = True)
while CowTupleList:
# Add first (largest) cow to a new cart
name,weight = CowTupleList[0]
cart = [name]
remaining_capacity = limit - weight
# Remove first cow from list
del CowTupleList[0]
# Find largest remaining cow that fits in remaining capacity (if any)
idx = find_largest_fitting(CowTupleList, remaining_capacity)
while idx is not None:
# Add the cow at idx to the cart
name,weight = CowTupleList[idx]
cart.append(name)
remaining_capacity -= weight
# Remove cow at idx from list
del CowTupleList[idx]
# Find largest remaining cow that fits (if any)
idx = find_largest_fitting(CowTupleList, remaining_capacity)
# No more cows fit => yield the cart
yield cart
Assuming find_largest_fitting is implemented as a binary search over CowTupleList (and an appropriate data structure is chosen for CowTupleList), this should take O(n*log(n))\$\mathcal{O}(n\log{n})\$ time. If linear search is used for find_largest_fitting and/or Python's build-in list type is used for CowTupleList (so that del operates in O(n)\$\mathcal{O}(n)\$), then this algorithm will operate in O(n^2)\$\mathcal{O}(n^2)\$ time.