In the SDK 3.0 release notes, Apple wrote the following warning:
Don't draw custom buttons on top of existing keyboards. Any number of drawing, event, or compatibility problems could come up.
Now it's true, they have been accepting applications that add a button over an existing keyboard, however this technique uses an undocumented link to the UIKeyboard View and could easily be rejected the next time it's submitted. Technically it falls into the undocumented API realm, however I don't believe their automated tools pick it up so it's not being flagged.
You should post a bug on the Apple Developer Connection website, since they are counting the number of bug reports on this issue before they will address it formally...
There are an number of ways they could fix this, including:
1) Support more predefined keyboard options (decimal, currency, etc).
2) Expose the UIKeyboard methods
3) Provide customizing keyboard options that can be localized
If you intend to localize your App, you will have problems with different keypad sizes when you overlay a "." key on the empty space on one of the existing keypad (same problem that the "Done" button has in that approach).
I am currently using the overlayed "." in one of my own Apps, and will probably end up creating an entirely custom "decimal" keypad to replace this so I don't risk being rejected in an App update in the future.
-t