Ο κώδικας που δίνεις κάνει κάποια περίεργα πράγματα. Καταρχήν προσθέτει μία στήλη τύπου Image. Η νέα στήλη λογικό είναι να μην περιέχει δεδομένα εφόσον δεν τα έχεις φορτώσει ακόμα. Μετά γράφεις dr("Cars_Photo1").ToString(), ζητάς δηλαδή να μετατραπεί το περιεχόμενο της στήλης σε string. Δηλαδή ζητάς η εικόνα να γίνει string. Καθώς δεν υπάρχει συγκεκριμένος τρόπος τα binary data της εικόνας να μετατραπούν σε string, το .NET εκτελεί τη default ToString() η οποία επιστρέφει το όνομα του τύπου της στήλης.
Εφόσον ξαναγράψεις τον κώδικα ώστε να φορτώνει την Cars_Photo1 από τη βάση, όταν δηλαδή φορτώνεις τον πίνακα dtCars, και εφόσον η Cars_Photo1 περιέχει την εικόνα και όχι κάτι άλλο όπως το URL, μπορείς να χρησιμοποιήσεις την GetBytes για να φορτώσεις την εικόνα. Κοίτα και το Retrieving Binary Data.
Αν η Cars_Photo1 περιέχει το URL μπορείς απλά να περάσεις το περιεχόμενο της στο ImageUrl του αντικειμένου Image.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos