The problem does not seem to be the length of the name, but the fact that the name DATABASE is used as an internal MSI property containing the full filename of the installer file1.
If you bind your edit field to that property the value of this property will be overwritten with whatever the edit field contains.
MSI doesn't like that. Unfortunately, I could not find any place where it is documented that the name DATABASE is reserved (The built-in MSI properties are documented here). So I wouldn't say this is a bug in MSI, but bad documentation/developer usability (as it is unfortunately too often the case with Windows Installer).
In your log file you will find the following entries:
MSI (c) (64:1C) [19:30:12:339]: PROPERTY CHANGE: Modifying DATABASE property. Its current value is 'd:\ ... mysetup.msi'. Its new value: 'ProgressNotes'.
And later on when the installer is hanging:
MSI (c) (64:68) [19:30:41:701]: Note: 1: 1314 2: ProgressNotes
Here should probably appear the full path to your MSI file...
Solution: Use any other name that is not reserved.
1You can easily see this if you set Edit1Property to 'DBProperty' and Edit1Value to '[DATABASE]' (without the single quotes).