I'll give you some minor comments on a few of your groups - I'll deal with them one group at a time.
First the Form Layout group ...
Your introduction implies (probably not intentionally) that Go To Form Layout always opens the target form with a blank/new entry. This is true only if there is no connection from the source form to the target form. If there is a connection the Go To ... opens the entry specified connection, and if you want a temporary connection you can precede your Go To ... with a Search Form command specifying the target entry.
Personally (this is just a personal preference, not a requirement) if I want to explicitly open a new entry I precede the Go To ... command by a Clear Form command to make it clear what I am wanting. This works even if there is a connection (i.e. it overrides the connection).
Finally, to swap the layout being used to display the current form entry you would be better off using the Show Form Layout command (rather than Go To ...) otherwise you will inadvertently create two distinct form entries.
Mike
There seems to be a minor bug in the Distances form. The If Test command in the getcoord button references a field named Location (that does not exist). This should be field Gps1 I think.
Recently (June 15) I posted a response to another user (who wanted to calculate the distance between two GPS points) explaining how to extract numeric latitude and longitude from a GPS field. My method matched yours (use of indexOf and subString commands). The user responded that he successfully used the method to calculate distance, but unfortunately did not post the calculation - so I can't help you with that (but maybe there is someone else who could help!).
I have used a similar method to display help information. Another method used by some users (well, at least one!) is to define help in multi-line labels with a separate form for each help item. Personally I dislike this alternative as it results in a potentially large number of forms. I suppose one could avoid form proliferation by using a single form with a different layout for each help item but I suspect that help editing could get messy.
However, there are a couple of points that potential users of your/my method should be made aware.
First, if the group is backed up and then loaded using the Load Group without Entries option then the help is list! (The multi-line label method does not suffer from this problem).
Second, I don't think you can at the moment totally avoid the inadvertent creation of entries in a menu form. Your suggestion of including a Clear Form command in each help button seemed a good one but if the user clicks on the Save and Return icon the result is a new blank Menu form entry. At least for a favourite form (often the case for a main menu form) the possibility of defining a custom menu has been requested, but we don't have that option at the moment.
.
Your sms form just sends sms to sms app does not actually send an sms
The URIs do not complete the final action, but allow the applicable data to be passed to an appropriate app. So the SMS behaves as expected by Android - an SMS app is invoked allowing the user to finally confirm the sending of the message.
The Email URI should operate similarly but, in my limited experience, many Email apps do not completely implement the URI. Gmail seems OK (checked on a Google Nexus and Samsung Galaxy Tab tablet), but typeApp (checked on Nexus) and the Samsung Email app both seem to accept the target Email address but not the Subject and Body fields. From what you report David, the same appears to be true of the Yahoo mail app. I think we need to blame the email apps for this problem (i.e. for not completely implementing the URI).
There is a similar problem (as noted by Tim in the Calendar example) of Calendar apps not implementing start and end time or duration.
Mike
When a button (or any other field type) is added to a layout it is made visible ONLY on that layout. To make it visible on other layouts you need in form edit to go in turn to each layout where you want it to appear, select Show Hidden Fields and mark the required fields, then move them to the required place on the layout.
If you have created a layout for a each of several different screen sizes this can be a nuisance. For a significant edit it can be easiest to delete all layouts except those that apply to your device, do the edit, then recreate the layouts fir other screen size.
Mike
It worked OK for me with three different email apps. It seems gmail accepts both old and new methods, but other apps I've tried only accept your new method.
That problem has been an issue for some while.
Mike
All worked perfectly for me so I suspect you have a spelling error or similar in your intent data.
I've attached my test form for you.
Mike