There is nothing wrong with your usage of lookup.
Whats wrong is the way how this function is implemented in Prime (same problem in real Mathcad, too).
As Terry already explained, the various "lookup" functions and also "match" are using the value of the system variable TOL to decide if two values are equal. The default value for TOL is 10^-3.
When using quantities with units, Prime stores them always in their standard unit and not in the unit you use when you define them.
For volumes the default unit for display are liter, but I guess that the values internally are stored using the default length unit meter. So the first entry in the W-table is 0.0012 (m^3) and the value you look for is 0.001205 (m^3). Within a tolerance of 10^-3 they are considered equal and thats the reason 1200 cm^3 is considered "greater or equal" to 1205 cm^3.
I always found this behaviour of the match and lookup function to be wrong and usually try to avoid these functions when using quantities with units or with very small values and wrote small functions which loop through the matrices using the boolean comparisons (=,<,>) to do the job.

Another option is what Terry had shown. Either decrease TOL or just make the values larger by multiplying them with a large number.
Dividing by the unit liter is equal to multiplying the numbers by 1000 and so Prime compares 1.2 to 1.205 and decides that 1.2 is not equal or larger.
I would prefer to divide by the unit used (cm^3) so you compare the magnitudes you see in the table - 1200 to 1205. But thats a matter of personal taste, I guess.

You may also just multiply the values by a number large enough to be sure it makes their difference larger than TOL
