These dll's have perl<version>.dll hard-coded in them, where <version> is the version of PERL that the DBI and ODBC modules were installed with.
Not quite. When those modules were
compiled, they were
linked against perl56.dll.
Perl 5.6.x is not
binary compatible with perl 5.8.x.
As for your PPM troubles,
http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/ says:
The PPM config file, ppm.xml, got corrupted and PPM no longer works properly.
If this occurs, a new minimal PPM config file can be generated using the 'genconfig' command at a Command Prompt:
C:\> ppm genconfig > ppm.xml
The new ppm.xml should be copied to the directory Perl/site/lib.
PPM should now work properly, but all information about previously installed packages will be lost.