[Sony Ericsson Xperia Mini, Mini Pro, Xperia Pro, A] Ticklefish:
Phew...this is a lot of replies to get through!

Always happy to help, my friend. I'm just glad we got it working finally!

I made the 'status_bar_close_on.9.png' into an image one pixel by one pixel the same colour as the notification shade, renamed it as 'status_bar_close_on.png', got rid of the carrier label code completely and put in an ImageView in its place. Then it was just a case of finding the right image to use. Thanks, Google image search!

I'm happy to. What's confusing you? I have a Mini Pro and I'm using ICS stock.

I can and I'd need your framework-res.apk and your SystemUI.apk. But I'd prefer to teach you how to do it yourself. That way, you'll be able to do all sorts of modifications whenever you want. Where are you stuck? What's happening?

Different roms lay out this xml in different ways but they all follow the same overall idea.

This code here is the bit we're concerned with:

<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:background="@drawable/status_bar_background" android:focusable="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<com.android.systemui.TorchServiceView android:layout_gravity="top|left|center" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:foreground="#ff000000" />
<com.android.systemui.statusbar.phone.BatteryIndicator android:layout_gravity="top" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@id/battery_indicator" android:src="@drawable/battery_indicator" android:scaleType="fitXY" />
<com.android.systemui.statusbar.phone.BatteryIndicatorCharging android:layout_gravity="top|right|center" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/battery_indicator_charging" android:src="@drawable/battery_indicator_charging" />
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@id/icons" android:orientation="horizontal" android:paddingLeft="6.0dip" android:paddingRight="6.0dip">
<LinearLayout android:layout_width="0.0dip" android:layout_height="fill_parent" android:paddingRight="6.0dip" android:layout_weight="1.0">
<com.android.systemui.statusbar.phone.CarrierLabel android:layout_width="wrap_content" android:layout_height="fill_parent" android:id="@id/carrier" android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:singleLine="true" />
<LinearLayout android:layout_width="0.0dip" android:layout_height="fill_parent" android:id="@id/notification_icon_cluster" android:layout_weight="1.0">
<com.android.systemui.statusbar.StatusBarIconView android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:id="@id/moreIcon" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:layout_width="0.0dip" android:layout_height="fill_parent" android:id="@id/notificationIcons" android:orientation="horizontal" android:layout_weight="1.0" android:gravity="center_vertical" />
</LinearLayout>
</LinearLayout>
<com.android.systemui.statusbar.NetworkSpeedView android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:id="@id/network_speed_view" android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:layout_marginRight="6.0dip" />
<LinearLayout android:layout_width="wrap_content" android:layout_height="fill_parent" android:id="@id/statusIcons" android:orientation="horizontal" android:gravity="center_vertical" />
<LinearLayout android:layout_width="wrap_content" android:layout_height="fill_parent" android:id="@id/signal_battery_cluster" android:orientation="horizontal" android:gravity="center">
<include android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/signal_cluster" layout="@layout/signal_cluster_view" />
<com.android.systemui.statusbar.phone.BatteryStatusIconView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/battery" />
</LinearLayout>
<com.android.systemui.statusbar.policy.Clock android:layout_width="wrap_content" android:layout_height="fill_parent" android:id="@id/clock" android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:singleLine="true" android:paddingTop="1.0dip" />
</LinearLayout>

Everything after this is to do with notifications and in-call icons. The first <LinearLayout..>...</LinearLayout> section contains all your normal status icons, signal strength, battery level, etc. As well as the clock right at the end. Centering the clock inside this LinearLayout is tricky because parts of it keep changing size as you activate and deactivate various things. So the best thing to do is put the clock just before the LinearLayout, change its android:gravity to center it and set its android:layout_width to 'fill_parent'.

This will give us:

<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.phone.PhoneStatusBarView android:background="@drawable/status_bar_background" android:focusable="true" android:descendantFocusability="afterDescendants"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui">
<com.android.systemui.TorchServiceView android:layout_gravity="top|left|center" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:foreground="#ff000000" />
<com.android.systemui.statusbar.phone.BatteryIndicator android:layout_gravity="top" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@id/battery_indicator" android:src="@drawable/battery_indicator" android:scaleType="fitXY" />
<com.android.systemui.statusbar.phone.BatteryIndicatorCharging android:layout_gravity="top|right|center" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/battery_indicator_charging" android:src="@drawable/battery_indicator_charging" />
<com.android.systemui.statusbar.policy.Clock android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@id/clock" android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="center" android:singleLine="true" android:paddingTop="1.0dip" />
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@id/icons" android:orientation="horizontal" android:paddingLeft="6.0dip" android:paddingRight="6.0dip">
<LinearLayout android:layout_width="0.0dip" android:layout_height="fill_parent" android:paddingRight="6.0dip" android:layout_weight="1.0">
<com.android.systemui.statusbar.phone.CarrierLabel android:layout_width="wrap_content" android:layout_height="fill_parent" android:id="@id/carrier" android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:singleLine="true" />
<LinearLayout android:layout_width="0.0dip" android:layout_height="fill_parent" android:id="@id/notification_icon_cluster" android:layout_weight="1.0">
<com.android.systemui.statusbar.StatusBarIconView android:visibility="gone" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="fill_parent" android:id="@id/moreIcon" android:src="@drawable/stat_notify_more" />
<com.android.systemui.statusbar.phone.IconMerger android:layout_width="0.0dip" android:layout_height="fill_parent" android:id="@id/notificationIcons" android:orientation="horizontal" android:layout_weight="1.0" android:gravity="center_vertical" />
</LinearLayout>
</LinearLayout>
<com.android.systemui.statusbar.NetworkSpeedView android:visibility="gone" android:layout_width="wrap_content" android:layout_height="fill_parent" android:id="@id/network_speed_view" android:textAppearance="@style/TextAppearance.StatusBar.Clock" android:gravity="left|center" android:layout_marginRight="6.0dip" />
<LinearLayout android:layout_width="wrap_content" android:layout_height="fill_parent" android:id="@id/statusIcons" android:orientation="horizontal" android:gravity="center_vertical" />
<LinearLayout android:layout_width="wrap_content" android:layout_height="fill_parent" android:id="@id/signal_battery_cluster" android:orientation="horizontal" android:gravity="center">
<include android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/signal_cluster" layout="@layout/signal_cluster_view" />
<com.android.systemui.statusbar.phone.BatteryStatusIconView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/battery" />
</LinearLayout>
</LinearLayout>

This centers the clock but, now the clock is out of the LinearLayout, the clock won't get pushed out of the way by an incoming notification and we'd have some overlaps. So we need to change the very next line from:

<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@id/ticker" android:orientation="horizontal" android:paddingLeft="6.0dip" android:animationCache="false">

to:

<LinearLayout android:background="@drawable/status_bar_background" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@id/ticker" android:orientation="horizontal" android:paddingLeft="6.0dip" android:animationCache="false">

This will give the notification the same background as the status bar which will cover up the clock, getting rid of the overlaps.

And that's it. Save and recompile as normal.