THIS IS NOT AN ANSWER.
Just some thoughts that might help - please let me know if I've misunderstood any questions/answers.
The costs for the 2 kinds of rope are just double the ropes' burn times, so really we're looking to minimise the number of rope-minutes we buy.
The asker's solution involves a [7 minute] rope and 3 [2 minute] ropes.
We can make 3 [2 minute] ropes from 3 [16 minute] ropes lit simultaneously with a [7 minute], and then another [7 minute] we light after the first [7 minute] burns.
This means we buy 3 [7 minute] ropes, and 3 [16 minute] ropes, for a total of 69 minutes purchased, 138 rupees.
Andrei's solution involves creating 3 [5 minute] ropes, and burning them alongside a [16 minute].
We can create 3 [5 minute] ropes from 5 [7 minute ropes] and a [16 minute] rope - first the [16] burns with the first [7], then with the second [7], then we light the last 3 [7]s and they end up as [5 minute] ropes.
This means we buy 2 [16 minute] ropes and 5 [7 minute] ropes, for a total of 67 minutes purchases, 134 rupees.
If we skipped any tricks with creating [x minute] ropes (x!=7,x!=16), we would be burning 7 [7 minute ropes] for 49 minutes, and 3 [16 minute] ropes for 48 minutes, giving us a [1 minute] rope made from the 7th [7 minute] rope. This costs 194 rupees.
I written up these answers in their optimal forms - to create Y [X minute] ropes I assume we can do the process that creates 1 [X minute] rope, but when we light up the rope that ends up being [X minutes] we buy Y of them instead of 1. This is how we can create 1 [5 minute] rope by purchasing 1 [16], 3[7]s, the end rope having started off as a [7], but we can create 101 [5 minute] ropes by purchasing 1 [16] and 103 [7]s, 2 of which are burnt in the process. This is obviously cheaper than buying 1[16], 3[7]s, 101 times.
We have to begin by burning at least 1 [16] and at least 1 [7] - otherwise we're wasting rope, since can't make any guesses or burn at both ends. We must burn at least 1 other [16], because otherwise we're stuck with just a ridiculous number of [7]s (9, by making 4 [5]s (uses up 6) and then burning those as a [20] alongside 3 more [7]s).
So we have to use at least 2 [16]s. Andrei's solution uses that many, and only 5 [7]s - to use only 4 [7]s I think is impossible, given that the 5 is already an optimisation.
If we used 3 [16]s we're on par with the asker's solution, so we'd have to use only 2 [7]s - this also seems pretty impossible, not least because we'd be stuck on even numbers.