I guess I'll have to use the Windows API directly then, because using the BorderStyle property to change from bsNone to bsSingle recreates the window, thus returning a different window handle. Since you have to pass the window handle to Reset() in the D3DPRESENTPARAMETERS structure, changing the window handle (by changing the BorderStyle) will cause errors. Using the Windows API to change the window style would be the answer here.

Thanks all.