Since I'm working with LV-DLLs there is a very very annoying Bug. I just made my first tries in LV 2012 (up to now I'm using LV 2009) and I recognized that the bug is still there but an information/warning dialog opens now when it takes effect. With other words: The bug became a feature ;-( So it's time to make a suggestion for changing in the LV behaviour.
Here are the steps you have to take to reproduce the problem:
1) create a new, empty LV project
2) first create a cluster, store it as type def and add the type def to the project
3) create a new VI (called test) that uses this cluster as output (input will work, too). Add the VI to the project, too.

4. Create a DLL-Spec with this VI as exported function (sorry, I’m using a German LV):

5. Usually the default prototype is not the best. So we re-configure it like this.

Click to ok and store the project and all files.
6. Ok, last step: Building the DLL 🙂
– Ups, we forgot to change the element “n” inside of the typedef-cluster to U16 (it’s still set to double). But no problem – changing the typedef will correct the bug everywhere where the ctl is used.
Open the typedef, change and store it. Now re-build the bug-free DLL - finished! .. or not? No, you're not. Because you changed the type def LabView has reset the hard configured prototype to default *grmpfl* 
Now you might say: “Hey, where is the problem, just re-configure it.”
Currently I have a single project which uses up to 25 DLLs created in LV. All are using the same data cluster typedef. Each DLL has approximately 10 exported VIs. This makes 250 prototypes I have to re-configure if there is just one little change within my cluster!!!
LV resets the prototype even if a VI-IO changes from “required” to “recommended” – a change that does not have any effect to the behaviour of the exported VI.
So NI, please change this “feature” to a real feature as soon as possible!
Meanwhile I have to go on using variant elements to send data to my DLLs and back.
Appended you'll find a very similar example. Don't forget to save the VI after you've changed the type def.