Just noticed a little something. For now stick with the Forward Euler method, and the dt is NOT delta time. It is a time step (anywhere between 1/60 to 1/1000). To involve delta time, you do this:

VB Code:
  1. New_Time = timeGetTime
  2.         Delta_Time = (New_Time - Current_Time) / 1000
  3.         Current_Time = New_Time
  4.        
  5.         If Delta_Time > 0.25 Then Delta_Time = 0.25
  6.        
  7.         Accumulator = Accumulator + Delta_Time
  8.        
  9.         While (Accumulator >= Time_Step)
  10.            
  11.             Accumulator = Accumulator - Time_Step
  12.              
  13.             Integrate2D Obj, Time_Step, FORWARD_EULER
  14.            
  15.             Time = Time + Time_Step
  16.            
  17.         Wend