Hmm, I've never used CreateTitleRegion in my addons and can drag my frames around pretty easily. However, I've never needed to resize at run time so have never experimented with it.
All my movable frames are set as thus:
Lua Code:
self:RegisterForDrag("LeftButton","RightButton");
self:EnableMouse(true);
self:SetMovable(true);
self:SetScript("OnMouseDown",OnMouseDown);
self:SetScript("OnMouseUp",OnMouseUp);
self:SetScript("OnHide",OnHide);
With the OnMouseDown, OnMouseUp and OnHide functions being coded as such:
Lua Code:
function OnMouseDown(self)
self:StartMoving();
self.isMoving = true;
self.hasMoved = false;
end
function OnMouseUp(self)
if ( self.isMoving ) then
self:StopMovingOrSizing();
self.isMoving = false;
self.hasMoved = true;
end
end
function OnHide(self)
if ( self.isMoving ) then
self:StopMovingOrSizing();
self.isMoving = false;
end
end
Although there are also OnDragStart and OnDragStop functions that may work better.
However, looking at this page :
http://www.wowwiki.com/API_Frame_SetUserPlaced it sounds like there are times when this doesn't work consistently to restore the new placement and looking at
http://www.wowwiki.com/API_Frame_IsUserPlaced points out that frames created programmatically won't work with those commands. In which case you may also have to keep a copy of its setpoint values so that it can be restored successfully.
Hopefully that gives you a bit more info on how you can get your frames moving by the user.
The following may help explain things a bit better too. It's where I got my info from.
http://www.wowwiki.com/Making_Draggable_Frames
As to sizing it might be simply the case of replacing StartMoving to StartSizing in the above examples. You would have to play about with it to see if thats the case.
edit: After spotting some problems occurring recently I have realised that OnDragStart and OnDragStop is the better option to use if you also want to use other click options on the frame. same code just different functions.