The problem is that your where clause makes the left joins inner joins again by checking on the tv.Property.
So whenever a tagged is existent, the whole record won't show.
If you include that statement in "ON" statement you won't have that problem.
For SQL server you can do something like this:
SELECT o.ea_guid AS CLASSGUID,
o.Object_Type AS CLASSTYPE,
o.Name,
tv1.Value AS tv1,
tv2.Value AS tv1,
tv3.Value AS tv1,
...
tvn.Value AS tvn
FROM t_object o
LEFT JOIN t_objectproperties tv1 ON tv1.Object_ID = o.Object_ID
AND tv1.Property = 'TVName1'
LEFT JOIN t_objectproperties tv2 ON tv2.Object_ID = o.Object_ID
AND tv2.Property = 'TVName2'
LEFT JOIN t_objectproperties tv3 ON tv3.Object_ID = o.Object_ID
AND tv3.Property = 'TVName3'
..
LEFT JOIN t_objectproperties tvn ON tvn.Object_ID = o.Object_ID
AND tvn.Property = 'TVNameN'
For MS Access syntax you'll have to add parenthesis
SELECT o.ea_guid AS CLASSGUID,
o.Object_Type AS CLASSTYPE,
o.Name,
tv1.Value AS tv1,
tv2.Value AS tv1,
tv3.Value AS tv1,
...
tvn.Value AS tvn
FROM ((((t_object o
LEFT JOIN t_objectproperties tv1 ON (tv1.Object_ID = o.Object_ID
AND tv1.Property = 'TVName1'))
LEFT JOIN t_objectproperties tv2 ON (tv2.Object_ID = o.Object_ID
AND tv2.Property = 'TVName2'))
LEFT JOIN t_objectproperties tv3 ON (tv3.Object_ID = o.Object_ID
AND tv3.Property = 'TVName3'))
..
LEFT JOIN t_objectproperties tvn ON (tvn.Object_ID = o.Object_ID
AND tvn.Property = 'TVNameN'))
Geert