Percentage based measurement doesn't solve the problem unfortunately. I've been pondering this issue myself for a long time. Percentage based simply sets the resolution at 100x100, but stretches the calculations to suit the aspect ratio.
Consider the following scenarios:
1. Desktop with a 21" monitor. AppGameKit resolution set to 640 x 480. Button size = 64 x 48. Button is huge
1b. Desktop with a 21" monitor. AppGameKit resolution set to percentage-based. Button size = 10 x 10. Button is huge
2. Phone with a 3" screen. AppGameKit resolution set to 640 x 480. Button size = 64 x 48. Button is impossible to press
2b. Phone with a 3" screen. AppGameKit resolution set to percentage-based. Button size = 10 x 10. Button is impossible to press
3. Tablet with a 8" screen. AppGameKit resolution set to 640 x 480. Button size = 64 x 48. Button is comfortably pressed
3b. Tablet with a 8" screen. AppGameKit resolution set to percentage-based. Button size = 10 x 10. Button is comfortably pressed
All of the above scenarios represent the exact same button with the exact same dimensions. But the presentation and usability are vastly different between sets 1,2 and 3.
Regarding device resolution, you can have the same physical screen size, but different resolutions. For example I have an old Wildfire with a 320x240 resolution. The new Wildfire is the same screen size, but double the resolution.
I'd love to know the solution.