To avoid the circular references, put the "uses" after the implementation line (not interface).
BUT: This is not the right way to design a multiform-program, add one ore more forms and you will soon be in a noncompilable situation. You must try to keep forms separate. Ideally, the forms should not carry any logics, they just display data and provide the possibility of user input. Create one or more new units containing all declarations and data - let me call that "data unit". When you open a form, populate the controls with the data from the data unit. When the user edits data or when the form is closed copy the data from the controls back to the data unit. Calculations, ideally, should not be performed within the form but in separate units. In essence: Every form can "use" the data units, but the data unit must not "use" any form unit.