Your scenario is pretty straight forward, and i strongly feel we can resolve it quicker if you can share your code. I can fix those issues and repost the code.
Secondly, incase you want try certain things at your end, here are my suggestions:
1. You need to puch the button twice bcos, you setting ModalPopup's TargetControlId to the a LinkButton using the Click event on the LinkButton. So, what happens is, on the first click its just gettng assigned, and from the second click it starts popping up. So, on the click event, instead of just setting the target control id, invoke show() method on the modal popup. (ex. ModalPopup1.Show() ).
2. Alternatively you can attach onclick attribute to the link button like linkButton1.Attributes.Add("MyJavaScriptFunction", "onclick"). And you can have the javascript function definition as <script type="text/javascript">function MyJavaScriptFunction(){ $find('ModalPopup1').show()}</script>
Let me know if you need any further assistence on this.
Thaks,
Atanu