My comment didn't address your constraint on the number of distinct weights, but since you don't also constrain the number of distinct values, the result is that the number of distinct ratios is not constrained. This is likely to be a problem for other kinds of greedy orderings.
Let's call the number of distinct weights in an instance of your problem $d$.
I don't know a way to prove that no other possible ordering can work, but here is a strategy that can be used to rule out a particular given ordering. I'll work through this for your greedy-value-descending (GVD) algorithm (even though you already found a counterexample in this case so it doesn't tell you anything new):
The greedy-ratio-descending (GRD) algorithm I described in my comment optimally solves instances of the 0-1 Knapsack problem for which no partial item remains. That means that for some other greedy ordering to be correct, then on any such GRD-solvable problem instance in which all ratios are distinct, it must agree with GRD on the choice of the items to include. (The order doesn't have to be identical -- it is allowed to choose the items to include in a different order.)
Let's start with an arbitrary instance of your problem with some given $d$, which has distinct ratios, too many items to fit completely in the knapsack, all item values at least 3, and which can be solved optimally by GRD, and look for a way to convert this into an instance that has $d'=d+1$ distinct weights and obeys the other constraints (distinct ratios, not all items fit, values $\ge 3$, optimally solvable by GRD), but will confuse GVD. That is, we are designing a function that maps instances to instances. The domain of this function is infinite (e.g., take any instance with distinct ratios and add a "critical" item with weight equal to $C$ minus the sum of the weights of all items "completely" chosen (i.e., with fraction 1) by GRD, and choose the item's value to make its ratio halfway between $v_i/w_i$ and $v_{i+1}/w_{i+1}$); if we can show that the range is also infinite (e.g., because the function is one-to-one), then we have established that GVD will produce the wrong answer on an infinite number of problem instances that use $d'$ distinct weights.
One possible transformation is: Multiply all values by $4M$, where $M$ is the product of all distinct weights, and multiply the capacity and all weights by 2. Take the last item chosen by GRD, which has ratio $4Mv_m/2w_m$, and split it nearly in half: one item with value $2Mv_m+1$ and weight $w_m$, and one with value $2Mv_m-1$ and weight also $w_m$. (Multiplying numerators by $M$ ensures that all ratios are integral; the slightly different numerators serve to keep all ratios distinct, since all other ratios are $0 \mod 4$.) Finally add a "decoy" item with value $4Mv_m-3$ and weight $2w_m$. This construction adds at most one new distinct weight, namely $w_m$, so $d' \le d+1$.
The (unique optimal) solution produced by GRD on this new instance will correspond to the (unique optimal) solution it produced to the original instance, choosing both "halves" of the critical item and excluding the decoy, for which there is no room left. OTOH, since we required $v_i \ge 3$ for the input instance, then in particular $v_m \ge 3$, implying $4v_m-3 > 2v_m+1$, so GVD will consider the higher-valued "decoy" item before either half of the critical item -- so at that time it will pick this item if it has room, necessarily resulting in a suboptimal solution (and if it doesn't have room, then it must be because it has already picked items not picked by GRD, which also leads to a suboptimal solution on account of our assumption that the optimal solution is unique).
This instance mapping is injective: different-size inputs map to different-size outputs, and for two differing inputs of the same size, there is a smallest-ratio item that appears in exactly one of the two inputs, and which leads to an output item that does not appear in the other output.