It's just a different way to skin the same cat. Acutally, in this case you don't necessarily have to run an eval on the test condition either.
(eval (= (strcase (vlax-get-property obj 'ObjectName)) objtype))
is equal to...
(= (strcase (vlax-get-property obj 'ObjectName)) objtype)
they both return the same value.
And just as a side note, one thing you may or may not want to consider is that the user of this function could supply the wrong type definition to the wrong type of object. What I mean is that the user could call the function like this...
(objname <ename> "AcDbLine") and this would return an error where
(objname <vla-object> "LINE") would not.