Another would be to do something like FireMonkey (fpGUI is where I was thinking about this approach) and have almost 100% custom components.
Or MSEide+MSEgui:
https://sourceforge.net/projects/mseide-msegui/MSEide+MSEgui is more advanced than fpGUI but it is a completely new approach of a GUI framework which does not inherit much from Delphi VCL structure. When I started the project I already worked with Delphi VCL some time and wanted to make something better. ;-)
MSEide is a handy and very productive IDE for Free Pascal and gcc projects. AFAIK Graeme uses MSEide in order to develop his fpGUI applications.
MSEide has a powerful integrated form designer for MSEgui components with support for visual form inheritance and submodules (frames) with the ability to add componets/widgets to inserted frames and which updates descendant forms in realtime.
In order to port MSEgui to iOS/Android the first step probably would be to update the experimental OpenGL backend to use shaders and to make it OpenGL ES compatible.
Another option is to use native widgets which are connected by MSEifi datapoint- and event-components with the Pascal program. Because smartphone GUI's must be simple it should be doable. For designing the GUI one probably would use the platform tools.
All MSEgui edit- or display-widgets have a "ifilink" property which can be used to connect the program logic the same way -> the program logic units can be used in order to build the desktop version of the program with MSEgui widgets too.