The original idea to use a high pass filter should have worked.
At an idle speed of 600 RPM, the rotation is 10 per second and, for a 4 cylinder motor, there will be 2 pulses per rev. ie, 20 pulses per second or a time period of 50 milli sec. Each half of the square wave lasts for 25 msec.
The time constant of the filter needs to be around 100 to 125 mSec. Rather than a diode, there should be a resistor to ground. For a 0.1 uF capacitor, the resistor should be around 1 megohm.
The question is, why the original filter did not work.
The CRO trace shows the peak to peak voltage is around 6 Volt. It should not change when the datalogger is connected, but it possibly will and this may be your problem with no input. I suggest you check the source impedance of the square wave source. Do this by measuring the voltage with the CRO and then put a resistor in parallel with the cro. When the voltage waveform amplitude reduces to 3 volt, the the resistor value is the same as the source resistance. Similarly with the datalogger; you need to know its' input impedance. This input impedance can be used to calculate the time constant of the CR network. Note that the diode is probably not required. There may be some negative overshoot after the input pulse falls to 'low'. If this causes a problem, the diode will clamp the overshoot to around 0.5 volt. Alternatively, increase the size of the capacitor.
Hope this helps.