Why BLYNK_WRITE(V4) subrutine contain digitalWrite? What you are tryin to is read hardware pin and write virtual pin. Try to remove digitalWrite commands there. And also on myTimerEvent() try
sensorData = !digitalRead(0);
void myTimerEvent()
{
sensorData = !digitalRead(0); //Read the value of digital pin 0
Blynk.virtualWrite(V4, sensorData); //Send the value of sensorData to Virtual pin 4
Serial.print("Pin 0 value = "); //Print "Pin 0 value ="
Serial.println(sensorData); //Print the value thats in the sensorData variable
Serial.println(param.asInt(4)); //print the value of virtual pin 4
}
and
BLYNK_WRITE(V4)
{
}