It sounds like the array you are building from your XY data is 1D array, and the table needs a 2D array to fill it. It probably works outside the loop because you have auto indexing on the loop tunnel which would create a 2D array from your 1D array automatically.
If you really want to update the table point by point, you would have to insert the newest data into the array that contains the older data, then write to the table. I would hold the current table data in shift register, and insert or replace the new data into the array, then update the table. Be carful here, if you are constantly inserting into an array, it can cause memory management and performance issues.
If none of this makes sense and I've gone over your head, maybe you need to take a st
ep back and run through the Getting Started with LabVIEW section in the documentation. It really helps if you have a good grasp of the basics. The easiest way to find this document is from the LabVIEW Help menu, select "Search the LabVIEW Bookshelf". A .PDF will open, and one of the links on the first page is, "Getting Started with LabVIEW".
Good Luck
Ed