Where exactly is it getting stuck? When you turn on highlight execution what is it dong?
From looking at the top level VI though I bet your problem is that you are using the equals function to stop the loops. Your I32 gets type cast as a dbl, and the chance that they are equal is very slim.
The reason is that doing an equal compare of doubles is never a good idea. The double may show up in your indicator as 1 but if you increase the digits of precision on that control you would see that is was actually something like 1.0000000000000001. So your math may lead to 1.000000000001 and the conversion of the I32 to dbl may lead to 1, therefore they are not equal and the loops will not finish.
Take a look at this KB
Comparing Floating Points Does Not Seem to be Working Properly.and this one:
Why Do My Floating Point Numbers Lose Precision?