Weird things happen in my test-movie.. need some help!

Hello!

I’m trying to create some kind of interactive weather-widget.
Everything what happens outside, will also be seen on my screen.
So if it rains outside, it rains in my swf file. And if it snows, it snows in my swf. Etc.

I’m using the info from yahoo.com, also the code that’s giving me the information.
This code is an external as3 file what looks like this:

> case "44"://		partly cloudy
> case "45"://		thundershowers
> case "46"://		snow showers
> case "47"://		isolated thundershowers
> case "3200"://	not available
> case "27"://		mostly cloudy (night)

I’m testing different types of weather, for instance snow.

> case "27"://		mostly cloudy (night)
> 			addChild(Sneeuw);
> 			Sneeuw.gotoAndPlay("aan");

Which gives the code of the snow falling.
Then the following lines adds a clouds effect:

> addChild(Wolk);
> Wolk.gotoAndPlay("cirrus");

This label gives me the code of scrolling clouds in the background.

So now I’m coming to the problem and I have no idea what creates the problem exactly…

Every time the clouds come at the end of their loop the snow stops falling.
Piece by piece the particles disappear from the stage and when a new cloud movieclip is added to the stage for a seamless loop, boom, all the particles are on the stage again…

Below the codes for snow and clouds:

Clouds:

> var scrollSpeed1:Number = 1;

> var s11:cirrus = new cirrus();
> var s21:cirrus = new cirrus();
> MovieClip(this.parent).wolkenholder_mc.addChild(s11); 
> MovieClip(this.parent).wolkenholder_mc.addChild(s21);

> s11.x = 0;
> s21.x = s11.width;

> stage.addEventListener(Event.ENTER_FRAME, moveScroll1); 

> function moveScroll1(e:Event):void{
> s11.x -= scrollSpeed1;  
> s21.x -= scrollSpeed1;  

> if(s11.x < -s11.width){
> s11.x = s11.width;
> }else if(s21.x < -s21.width){
> s21.x = s21.width;
> }
> }

Snow:

stop();


import com.flashandmath.dg.display.SnowDisplay;

var sw:Number = 899;
var sh:Number = 600;


var backSnow:SnowDisplay;


init();


function init():void {
	

	
	backSnow = new SnowDisplay(899,600);
	backSnow.x = backSnow.x;
	backSnow.y = backSnow.y;
	
			backSnow.make2D = false;
			backSnow.particlesToAddEachFrame = 2;
			backSnow.waitCount = 1;			
			backSnow.colorToAccelFactorX = 0.0005;
			backSnow.colorToAccelFactorY = 0.0005;
			backSnow.randAccelFactorX = 0;
			backSnow.randAccelFactorY = 0;
			backSnow.airResistanceFactor = 0.064;
			backSnow.gravity = 0.025;
			backSnow.windX = 0;
			backSnow.windY = 0;
			backSnow.initYVel = Math.sqrt(backSnow.gravity/backSnow.airResistanceFactor);
			backSnow.minEffect = 1;
			
			backSnow.maxNumParticles = 1000;
			
			backSnow.minParticleSize = 1.5;
			backSnow.maxParticleSize = 1.5;
			
			backSnow.fLen = 600;
			backSnow.zRange = 500;
			backSnow.zBack = 0;
			backSnow.scaleCheat = 0.8;
	
	
	
	this.addChild(backSnow);
}

Thank you in advance!