I run the wallet in all supported environments and once sync'd they all work fine. Getting it to sync without crashing or stalling is the key (they call me capt. obvious
).
There are people that host the chain folder as a .zip file that can cut out literally days of pain.
My solution is to delete the data directory and try again. Once it has sync'd for the first time then I worry about importing wallets. Sync'ing and indexing the chain is painful and importing a wallet can be painful if it has many keys. Doing both at the same time is, in my experience, nearly impossible.
1) Fire up the wallet and a task manager. So long as Bitshares is doing a lot of work leave it alone. Let it sit. On an i7 that can be up to a day or so. Less with an SSD more without.
2) Once sync'd shutdown your client and when you're sure the executable is no longer running create a copy of the chain folder.
3) Fire up the client and import your .dat file.
If you ever get off on a fork or corrupted don't try to fix it. Delete everything in the data directory, copy in your chains folder from step 2 above, and once it's happy again restore your wallet from backup.
This process has always worked for me in all environments.