As I predicted before - people are spending so much time trying to get Galileo to work with devices that need deterministic timing.
The more proper workaround uses a 74hc125 or similar tri-state buffer instead of a diode.
You are right - that is a workaround. A solution would use an interface, which could be built for pennies, like I have posted before.
We really, REALLY, need to get away from trying to bodge together things that kinda sorta work and do things properly. There is only one way to connect a DHT22 (or any other single wire or 1-Wire device) to any computer system and that is with a proper interface. No amount of code tweaking or hardware hackery will ever get you deterministic IO timing from a computer running an operating system.
You might get it to work for you, but then a seemingly harmless update to some other code in the system will throw out your timings again. Use a dedicated interface and be done with it, 100% success every time. Fit the interface, write some really simple code which will never need maintenance and Bob is your aunties husband.