Is there any reason why you are combining PISDK and OLEDB? They are designed to be used on their own, not combined.
You can easily convert a Digital value to it's string equivalent in PI-OLEDB. Here's a simple sample taken from the PI-OLEDB Tester (Which is included with the PI-OLEDB provider and contains a great set of examples to get you started)
SELECT tag, time, DIGSTRING(CAST(value AS Int32)) value, DIGSTRING(status) status FROM piarchive..picomp2 WHERE tag = 'cdm158' AND time >= 't'
Edit> just realised you worked it out on your own! Great!