All the 32F10x seem to use the same die, including the higher pin count R variants(64-pin)
Even you can use peripherals that are supposed to be disabled, like i2s, USB.. just set the device settings as a higher variant in the code.
The RAM is locked in a different way, will cause hard fault when trying to exceed the limit.
Although the speed seems what actually make the difference, 36MHz devices are usually unable to run any faster than that, while I've ran 32F103 at 120MHz (From be 72MHz max) by just increasing flash latency.
There are flash density categories: low density (64 and 128KB), medium density (256KB) and high density (512KB), and they appear to be different dies.
But, as you see, 64 and 128 are the same.