I have recently decided to migrate my forum from PunBB 1.2 to PunBB 1.3, but went across that issue too as my database's charset was latin1 (installed in french originally, but then used for international purpose)
I've tried to manually convert my columns to Binary (BLOB) before converting them to UTF8 as suggested, unfortunately this led to the same loss of data because of special characters in topic names or messages (ä, ö, é, ´, ...)
I've finally managed to deal with it just by using MODIFY statements on all the columns for which charset was latin1.
This works as long as the columns are declared as latin1 and the data are really stored in latin1, which is the case in most cases (this will also work with other charsets on the same condition).
I have created a script that converts all your standard PunBB 1.2 database columns to UTF8, keeping the default parameters. Please note that it won't affect manually added tabs or columns (some 1.2 plugins require you to create new colums by hand, CountryFlags does for example), so you have to modify the script in consequence if you are concerned.
You MUST NOT tick the "Enable conversion" when prompted box in db_update.php, as this has already been done by the script. Ticking it will lead to data loss.
>> PunBB DATABASE CHARSET CONVERSION SCRIPT <<
<!> Read instructions inside the script before using.
Tested in real conditions and functional, hope this helps, even in july 2011...