Index: wp-includes/deprecated.php
===================================================================
--- wp-includes/deprecated.php	(revision 10474)
+++ wp-includes/deprecated.php	(working copy)
@@ -1303,3 +1303,31 @@
 	return get_comment($comment_ID, ARRAY_A);
 }
 
+/**
+ * Retrieve category children list separated before and after the term IDs.
+ *
+ * @since 1.2.0
+ * @deprecated Use get_term_children()
+ * @see get_term_children()
+ *
+ * @param int $id Category ID to retrieve children.
+ * @param string $before Optional. Prepend before category term ID.
+ * @param string $after Optional, default is empty string. Append after category term ID.
+ * @param array $visited Optional. Category Term IDs that have already been added.
+ * @return string
+ */
+function get_category_children( $id, $before = '/', $after = '' ) {
+	_deprecated_function(__FUNCTION__, '2.8', 'get_term_children()');
+	if ( 0 == $id )
+		return '';
+
+	$children = get_term_children( $id, 'category' );
+
+	if ( !is_wp_error( $children ) && !empty( $children ) )
+		$chain = $before . join( $after . $before, $children ) . $after;
+	else
+		$chain = '';
+	    
+	return $chain;
+}
+
Index: wp-includes/category-template.php
===================================================================
--- wp-includes/category-template.php	(revision 10474)
+++ wp-includes/category-template.php	(working copy)
@@ -7,40 +7,6 @@
  */
 
 /**
- * Retrieve category children list separated before and after the term IDs.
- *
- * @since 1.2.0
- *
- * @param int $id Category ID to retrieve children.
- * @param string $before Optional. Prepend before category term ID.
- * @param string $after Optional, default is empty string. Append after category term ID.
- * @param array $visited Optional. Category Term IDs that have already been added.
- * @return string
- */
-function get_category_children( $id, $before = '/', $after = '', $visited = array() ) {
-	if ( 0 == $id )
-		return '';
-
-	$chain = '';
-	/** TODO: consult hierarchy */
-	$cat_ids = get_all_category_ids();
-	foreach ( (array) $cat_ids as $cat_id ) {
-		if ( $cat_id == $id )
-			continue;
-
-		$category = get_category( $cat_id );
-		if ( is_wp_error( $category ) )
-			return $category;
-		if ( $category->parent == $id && !in_array( $category->term_id, $visited ) ) {
-			$visited[] = $category->term_id;
-			$chain .= $before.$category->term_id.$after;
-			$chain .= get_category_children( $category->term_id, $before, $after );
-		}
-	}
-	return $chain;
-}
-
-/**
  * Retrieve category link URL.
  *
  * @since 1.0.0
