Steps To Reproduce:
1. Run the following code:
Code:
import com.extjs.gxt.ui.client.Style.Direction;
import com.extjs.gxt.ui.client.Style.LayoutRegion;
import com.extjs.gxt.ui.client.event.ComponentEvent;
import com.extjs.gxt.ui.client.event.FxEvent;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.fx.FxConfig;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.Viewport;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.VerticalPanel;

public class sandbox implements EntryPoint {

	/**
	 * This is the entry point method.
	 */
	public void onModuleLoad() {
		RootPanel.get().add(buildCenterSlideExample());
	}
		
	private Viewport buildCenterSlideExample(){
		Viewport container = new Viewport();
		container.setLayout(new BorderLayout());
		
		ContentPanel north = new ContentPanel();  
	    
		final LayoutContainer center = new LayoutContainer();
		center.setId("sliding-container");
	    center.setLayout(new FitLayout());
	    VerticalPanel vp = new VerticalPanel();
	    vp.setBorderWidth(1);
	    Button button = new Button("slide",
				new SelectionListener<ComponentEvent>() {

					@Override
					public void componentSelected(ComponentEvent ce) {
						center.el().slideOut(Direction.LEFT,
								new FxConfig(new Listener<FxEvent>() {

									public void handleEvent(FxEvent be) {
										Timer time = new Timer() {
											public void run() {
												center.el().slideIn(Direction.RIGHT,
														FxConfig.NONE);
											}
										};
										time.schedule(5);
									}

								}));
					}

				});
	    vp.add(button);
	    center.add(vp);
	    
	    ContentPanel south = new ContentPanel();  
	  
	    BorderLayoutData northData = new BorderLayoutData(LayoutRegion.NORTH, 100);
	    northData.setCollapsible(true);  
	    northData.setFloatable(true);  
	    northData.setSplit(true);  
	    northData.setMargins(new Margins(5, 5, 0, 5));  
	  
	    BorderLayoutData centerData = new BorderLayoutData(LayoutRegion.CENTER);  
	    centerData.setMargins(new Margins(5, 0, 5, 0));  
	  
	    BorderLayoutData southData = new BorderLayoutData(LayoutRegion.SOUTH, 100);  
	    southData.setSplit(true);  
	    southData.setCollapsible(true);  
	    southData.setFloatable(true);  
	    southData.setMargins(new Margins(0, 5, 5, 5));  
	  
	    container.add(north, northData);   
	    container.add(center, centerData);   
	    container.add(south, southData);
		return container;
	}
}
2. Inspect the "center" LayoutContainer by right clicking on the element and selecting "Inspect" (it has the following ID: sliding-container). It should have no value for margin-left assigned (or at least set to '0px').
3. Click the "slide" button"
4. Repeat step 2 and the value for margin-left has changed to some negative value (it appears to be fairly random).

Expected Result:
The margin returns to 0px after all animations have ceased.

Workaround:
Interestingly enough, if you switch the directions on the transitions (so the first one is Direction.RIGHT and the second is Direction.LEFT), the issue disappears but a slight flicker is added as the left border comes back into view.

NOTE: I realize that this might have to do with the Timer workaround for event chaining (see the following thread for more info: http://extjs.com/forum/showthread.php?t=40281) but it is the only way I could get around that particular bug.