The EXECUTE was returning the correct answer, where as DO would not. If you look at the do sub in DBI, it's a prepare, execute, and return value of rows ($sth->rows). DBD::ADO didn't support the sub rows, so the DBI default was used (always returns -1).
I've corrected this bug, will release a new version today. Thanks, Tom -- Thomas A. Lowery See DBI/FAQ http://xmlproj.dyndns.org/cgi-bin/fom