1 have I interpreted the code right?
for first sensor to trip
because here is no instruction: do nothing while sensor1 isn't tripped else start_time=micros();
As stated, it just waits around for the sensor to trip. Nothing Else.
and the same approach apply stop_time=micros()
2 in the loop, does it check the conditions of both sensor 1 and 2 every time? wouldnt it be best if it only check sensor 1 and only if it was tripped, start checking condition of sensor 2.
No code will execute during the WHILE loops. Until that sensor trips, it's just going to keep checking the sensor. Read THIS
3 is it okey for me to put the rest of my code (display etc) underneath stop_time=micros(); ,, it will not disrupt the time critical start and stop code?
Yep, you're fine to put it under that. You can even wrap all the above into a function and just call it when you want the timed event.
4 the function micros delivers one us at a time but has a resolution of 4us. meaning that the function multiplying the timers value by 4 just before delivering it to me?
I would take that to mean it's rounded to the nearest 4µs. So if it actual = 317µs, it would return 320µs
5 what is the best method to do the math, keeping the resolution and display a value with say two decimals?
1000.000 is for getting the value in m/s and not m/us but then it of course gives me a value without decimals.
Your call on that one