Sorry for the delayed response, but I've only just noticed the thread.
I wrote the original DBP dll that did AA text and I've just found the problem.
You need to remove the following lines from the SetFont Function
if (g_pTextSprite == NULL)
hr = D3DXCreateSprite( g_pd3dDevice, &g_pTextSprite );
and add the following to the InitText function
HRESULT hr;
if (g_pTextSprite != NULL)
SAFE_RELEASE( g_pTextSprite );
hr = D3DXCreateSprite( g_pd3dDevice, &g_pTextSprite );
This will ensure the sprite used for text drawing is recreated on the new device.
Cheers,
Cloggy