Reading the datasheet on the DHT11, Red's code looks "right", but no readings.
It looks to me that the timing numbers are set for running at 64MHz, not 16MHz. PULSIN uses a software loop, so it counts at 2.5us@16MHz, and 625ns@64MHz
The timing constants 130 and 70 would end up being 325us/175us at 16MHz, while they look more correct if you're running at 64M (81us/43us). Try turning on the PLL.
Also, the AmicusIDE doesn't need 'All_Digital = true', but the Proton version would (I believe).
One nit-pick... it would be better to actually simulate an open-drain pin instead of driving the line high. You can do this by loading the LAT register with a 0 and setting/clearing the TRIS bit to get a '1' or a '0', something like
LATB.0 = 0 ' load LAT with a 0
TRISB.0 = 0 ' make the pin an output. This will pull down the pin making RB0 low
DelayMS 18 ' send 18ms low
TRISB.0 = 1 ' set RB0 to input. pin will go high because of pullup, simulating open-drain
DelayUS 40 ' DHT will respond within 20-40us
Also, one thing to watch out for, and that's the CONFIG settings. You have the MCLR pin disabled and the INTOSC set. This can be a dangerous combination. On some parts this can prevent you from ever reprogramming the part since the programmer may not be able to get it back into ICSP mode, depending on which device and programmer you use.
I also think it could be because PULSIN and PULSOUT are crystal dependent,
you could make PULSOUT variable until you get a response from the sensor then adjust PULSIN accordingly.
I plan to use with internal OSC eventualy for a weather station so i will try your code when i get 5 mins, we are decorating so most of my stuff is boxed up.