I had to deal with a similar situation, and I think it might be a bit more complicated.
Earlier today we had a problem where the majority of tf2 currency items suddenly registered as non-tradable in trade offers.
After some time troubleshooting I narrowed the problem down to the _assetCache, for whatever reason the tradable property was set as a boolean true rather than a string "1". And since EconItem converts it to boolean with parseInt, it obviously registered as false when an EconItem was constructed out of it.
For reference i attached the cached description file in question. We are running 2.11.3.
asset_440_2674_11040547.txt