Avoiding Bitcoin malleable bug with implementation I'm currently working on some Bitcoin code and whilst I'm hoping I've covered my bases, I wanted to check the implementation theory.

If I understand the malleable bug it's basically...
You create a transaction address for the transaction to take place on.  At this point a transaction id is created (txid)

The txid is changed before the transaction is complete on the network, creating a second txid, that the transaction will eventually be completed/confirmed/verified on.

So if that is correct (please correct me if I'm wrong)...

A script/program transferring coins to somebody should work something like this:

A transaction address is created and given to the payee to transfer the requested balance to.
That transaction address is checked periodically for number of confirmations.  When the transaction address receives 6 or more confirmations it can be considered as completed.

Is there a better/quicker/securer way ?

Thanks
Lower the confirmation.
The security reports are specific, 1 confirmation is not safe. 2 confirmations is considered 'safe'. More is considered 'safe'.
You can "rock'n roll" with 2 confirmation.
MtGox died the epic death because their custom made wallet was accepting coins after just 1 confirmation