It seems the BankPage location is recalculated each time you change the hotbar window size, so you may have to reset it OnHoverIn.
Code:
<?xml version="1.0" encoding="utf-8"?>
<Page clientmarginFrame="10,10,5,10" clientmarginNone="10,10,5,10" eq2usescomwndcontrols="true" Location="307,717" Name="Hotkey" OnHoverIn="BankPage.Location=Grab2ResizeDummyN.Placer.Location" OnShow="MinimumSize='0,0'
VerticalSizeOf40ResizeBugAndOnShowNotWorkingOnNewHotbarOpenBugWorkaround.Size=IconPage.Icons.Size
IconsSize=IconPage.Icons.Size
Size=VerticalSizeOf40ResizeBugAndOnShowNotWorkingOnNewHotbarOpenBugWorkaround.RealHotkeySize.Size
IconPage.Icons.Size=IconsSize" PackLocation="npn,fff" PackLocationProp="0307/1024,-019/0001" PackSize="f,f" PackSizeProp="0002/0003,0002/0003" ScrollExtent="396,32" Size="396,32" UserMovable="true" UserResizable="true" version="2.0">
<Page Name="Grab2ResizeDummyN" PackLocation="left,top" PackLocationProp="0000/0001,0000/0001" PackSize="a,f" PackSizeProp="0000/0001,0002/0003" ScrollExtent="396,1" Size="396,1">
<Button Name="Placer" PackLocation="center,top" Size="12,1"/>
</Page>
<Page Name="Grab2ResizeDummyW" PackLocation="left,top" PackLocationProp="0000/0001,0000/0001" PackSize="f,a" PackSizeProp="0002/0003,0000/0001" ScrollExtent="1,32" Size="1,32"/>
<Page Location="395,0" Name="Grab2ResizeDummyE" PackLocation="right,top" PackLocationProp="-001/0001,0000/0001" PackSize="f,a" PackSizeProp="0002/0003,0000/0001" ScrollExtent="1,32" Size="1,32"/>
<Page Location="0,31" Name="Grab2ResizeDummyS" PackLocation="left,bottom" PackLocationProp="0000/0001,-001/0001" PackSize="a,f" PackSizeProp="0000/0001,0002/0003" ScrollExtent="396,1" Size="396,1"/>
<Page AbsorbsInput="false" Name="BankPage" OnHide="Parent.MinimumSize='0,0'" OnShow="Location=Parent.Grab2ResizeDummyN.Placer.Location Parent.MinimumSize='0,0'" ScrollExtent="396,32" Size="396,32">
<Text AbsorbsInput="false" Color="#F0D080" Font="/ProfitUI_Styles.Fonts.FontArial12T" LocalText="10" Location="0,9" Name="CurrentBank" ScrollExtent="12,14" ShadowStyle="/ShadowStyles.BlackOutlineNoShadow.Outline2" Size="396,14" TextAlignment="Center" TextAlignmentVertical="Center">10</Text>
<Checkbox AbsorbsInput="false" LocalTooltip="Show move target" Location="0,11" Name="ToggleMoveTarget" OnSet="Parent.Parent.IconPage.MoveButton.Visible=true
Tooltip='Hide move target'" OnUnset="Parent.Parent.IconPage.MoveButton.Visible=false
Tooltip='Show move target'" ScrollExtent="12,10" Size="12,10" Tooltip="Show move target" />
<Button AbsorbsInput="false" LocalText="Up" LocalTooltip=":b7d61af6404eacdc:Previous Bank" Location="193,22" Name="DownArrow" OnPress="Parent.Parent.Refresh_ButtonLabels.Activated=true" ScrollExtent="10,10" Size="10,10" Style="/ProfitUI_Styles.ButtonStyles.BankSelector_down" Tooltip=":b7d61af6404eacdc:Previous Bank">Up</Button>
<Button AbsorbsInput="false" LocalText="Dn" LocalTooltip=":b7d61af6b99ebb95:Next Bank" Location="193,0" Name="UpArrow" OnPress="Parent.Parent.Refresh_ButtonLabels.Activated=true" ScrollExtent="10,10" Size="10,10" Style="/ProfitUI_Styles.ButtonStyles.BankSelector_up" Tooltip=":b7d61af6b99ebb95:Next Bank">Dn</Button>
</Page>
<Button Name="BankPageToggle" OnHoverIn="Parent.BankPage.Visible=true" OnHoverOut="Parent.BankPage.Visible=false" Opacity="0.000" PackLocation="nfn,cfc" PackLocationProp="0000/0001,0000/0001" PackSize="f,p" PackSizeProp="0002/0003,0032/0032" ScrollExtent="14,32" Size="14,32" />
<Page Location="12,0" Name="IconPage" PackSize="a,a" PackSizeProp="0012/0001,0000/0001" ScrollExtent="384,32" Size="384,32">
<Image Activated="true" GetsInput="true" LocalTooltip="Move/Access right-click menu here" Location="372,20" Name="MoveButton" OnHoverIn="Parent.Parent.UserResizable=false" OnHoverOut="Parent.Parent.UserResizable=true" PackLocation="right,bottom" PackLocationProp="-012/0001,-012/0001" ScrollExtent="12,12" Size="12,12" SourceRect="122,476,136,490" SourceResource="/images/window_elements_generic.dds" Tooltip="Move/Access right-click menu here" UserScrollable="false" Visible="false"/>
<IconBank Dragable="true" Font="/ProfitUI_Styles.Fonts.FontArial13T" FrameColor="#B5B5B5" IconFramePadding="0" IconPadding="0" IconStyle="/IconStyles.button" Name="Icons" PackSize="a,a" PackSizeProp="0000/0001,0000/0001" RenderFrame="true" RenderOutlines="true" ScrollExtent="384,32" Size="384,32" TextColor="#FFFFFF" TextMargin="2,-1,2,-2" TreatAsButton="true"/>
</Page>
<Page AbsorbsInput="false" BackgroundOpacity="1.000" Enabled="false" GetsInput="false" Name="WC_Backdrop" PackSize="p,p" PackSizeProp="0396/0396,0032/0032" ScrollExtent="396,32" Size="396,32"/>
<Page Name="WC_Frame" OnHide="Parent.BankPageToggle.Visible=true" OnShow="Parent.BankPageToggle.Visible=false" PackSize="a,a" PackSizeProp="0000/0001,0000/0001" ScrollExtent="396,32" Size="396,32" Visible="false"/>
<Page Location="4000,4000" Name="VerticalSizeOf40ResizeBugAndOnShowNotWorkingOnNewHotbarOpenBugWorkaround" PackSize="a,a" ScrollExtent="384,32" Size="384,32">
<Page Name="RealHotkeySize" PackSize="a,a" ScrollExtent="396,32" Size="396,32"/>
</Page>
</Page>
There is almost certainly a more elegant solution but I'm way too tired right now to even consider thinking about it.
PS: Didn't run into your problems under 2), likely because my window uses a number of workarounds around the hardcoding already...